gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 14:55:31 25 4
gpt4 key购买 nike

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

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

所以,我的问题是:如果我希望它被索引为脚本而不是模块,我需要做任何不同的事情吗?另外,我认为我也应该为模块编写一些文档——在这种情况下,我假设它应该是 lib 目录中的 README 文件?

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

最佳答案

马上开始,请阅读 On the naming of modules来自 PAUSE 管理员。如果您仍有疑问或不确定,请联系 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您的发行版目录。其他构建系统也有类似的指令。

关于Perl/CPAN 如何分发脚本而不是模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42471050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com