我刚刚发布了我的第一个perl程序,unifdef +(code :: unifdefplus,v0.5.3),但我不确定我是否已经正确完成了。该程序分为两部分 - 脚本(script / unifdef + .pl)和模块(lib / unifdefplus.pm)。该脚本基本上是模块的包装器。这应该充当命令行实用程序(实际上我想要发布它)。
我包含的README文件记录了脚本,而不是模块。 CPAN似乎也从模块而不是脚本中获取版本(目前尚未定义)。
所以,我的问题是:如果我希望将其编入索引而不是模块,我是否需要做不同的事情?另外,我还要接受它,我也应该为该模块编写一些文档 - 在这种情况下,我假设它应该是lib目录中的README文件?
我再次道歉,但这是我第一次这样做,我想确保我做得对。
答案 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
目录中。其他构建系统也有类似的指令。