如何开始为 CPAN 编写模块?

Posted

技术标签:

【中文标题】如何开始为 CPAN 编写模块?【英文标题】:How do I get started writing a module for CPAN? 【发布时间】:2010-12-16 09:49:22 【问题描述】:

现在,我为我的库拥有自己的测试工具/目录结构/支持文档结构/分发工具。然而,阅读博文Write your code like it's going on CPAN,这听起来是个好主意。然后我突然想到,我真的不知道该怎么做。

有哪些很好的资源可以帮助您开始在类似 CPAN 的结构中制作您自己的 Perl 包?

【问题讨论】:

另见:***.com/questions/73889/… 【参考方案1】:

我通常以Module::Starter 开头。它带有一个非常简单的command-line tool,它将从一个模板创建一个新的发行版,包括所有必要的文件和一个 t/ 目录等等。它还将生成 Makefile.PL(使用 ExtUtils::MakeMaker)或 Build.PL(使用 Module::Build。)

它还会在其中放置一个空的 .pm 文件,其中包含用于您的 POD 等的模板。

【讨论】:

【参考方案2】:

最好的起点是CPAN FAQ。

如上所述,以下是很好的资源:

perldoc perlmod perldoc perlmodlib

与往常一样,PerlMonks 也是一个很好的资源。查看他们的“How to make a CPAN Module Distribution”。

【讨论】:

我什至会从perldoc perlnewmod 开始,最终会指向perlmodperlmodlib【参考方案3】:

见José's Guide for creating modules。

您可能还喜欢 Sam Tregar 的 Writing Perl Modules for CPAN。

【讨论】:

“为 CPAN 编写 Perl 模块”不再可免费下载,当我写信时,我收到一封电子邮件确认(和一张优惠券),上面提到了“免费电子书下载” page 返回一个空白页。但他们从未修复过该页面。 好吧,这很糟糕。我不确定是否值得您为我一年前说过的事情投反对票,现在很容易解决。 @MkV:尤其是当你有足够的声望来自己编辑和修复答案时......【参考方案4】:

Ricardo Signes 是一位多产的模块作者,他经常编写工具以使模块创建尽可能简单。他的模块通常是最新的,而且他似乎坚持使用最现代的方法来创建 CPAN 发行版,因此他的发行版可能是很好的例子。他似乎使用Dist::Zilla 来管理和上传他的分发。

查看Module::Starter 模块,该模块生成有用的样板,以帮助创建现代 Perl 模块。

编写测试!查看Perl Quality Assurance Projects page。它有点过时了,但它有一些优质阅读材料的链接。

查看CPANTS, the CPAN Testing Service

在阅读了创建模块的最佳工具后,请在 PAUSE 上注册一个帐户,以便您在 CPAN 上管理您的分发。

加入#perl IRC 聊天频道irc.perl.org。实际上只有大约一半的讨论是关于 Perl 的,但是很多模块作者都在那里闲逛,你可以学到很多东西。

【讨论】:

讨论 Perl 的更好选择是 irc.perl.org 上的 #perl++,或 irc.freenode.net 上的 #perl。 @Andy:没办法,irc.perl.org 上的#perl 仍然是 r0xors。 :) 还有 #distzilla 和 #toolchain 可用于获取创建模块的帮助。 @Ether:irc.perl.org 上的#perl 明确表示它不是帮助频道,并在其 /topic 中驱散好奇。 @Andy:不关注 /topic。 :) 这只是为了减少胆怯。 :) @Ether:这很难令人鼓舞。

以上是关于如何开始为 CPAN 编写模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 perlbrew 时安装 CPAN 模块?

是否有适用于 Perl 6 的类似 CPAN/CPAN6 的项目?

如何将 CSS 模块的类型声明编写为 ES 模块

如何获取已安装 CPAN 模块的列表?

如何将 CPAN 模块安装到本地目录中?

如何退出当前 CPAN 模块并打开一个新会话?