Perl / CPAN如何分发脚本而不是模块

时间:2017-02-26 16:28:31

标签: perl cpan

我刚刚发布了我的第一个perl程序,unifdef +(code :: unifdefplus,v0.5.3),但我不确定我是否已经正确完成了。该程序分为两部分 - 脚本(script / unifdef + .pl)和模块(lib / unifdefplus.pm)。该脚本基本上是模块的包装器。这应该充当命令行实用程序(实际上我想要发布它)。

我包含的README文件记录了脚本,而不是模块。 CPAN似乎也从模块而不是脚本中获取版本(目前尚未定义)。

所以,我的问题是:如果我希望将其编入索引而不是模块,我是否需要做不同的事情?另外,我还要接受它,我也应该为该模块编写一些文档 - 在这种情况下,我假设它应该是lib目录中的README文件?

我再次道歉,但这是我第一次这样做,我想确保我做得对。

1 个答案:

答案 0 :(得分:6)

请立即从PAUSE管理员处阅读On the naming of modules。如果您仍有疑问,或者您仍然不确定,请与modules <at> perl.org联系。

最简单的方法是在App::命名空间中使用名称,例如App::MyMod

通常,我会将脚本和模块文档保存在单独的文件中,但是在模块文档的顶部附近,清楚地链接到脚本的文档,并声明大多数用户都希望阅读正常使用。

从脚本文档构建README

pod2readme bin/my_script

同样,如果您改变主意并希望README改为引用该模块:

pod2readme lib/App/MyMod.pm

假设您正在使用ExtUtils::MakeMaker进行构建,可以通过添加指令来确保安装脚本:

EXE_FILES => [
    'bin/my_script'
],

当然,您的脚本位于发行版的顶级bin目录中。其他构建系统也有类似的指令。

相关问题