>十年前,我曾经使用过h2xs包装制造商.这仍然是最值得推荐的入门方式吗?曾经有过几种选择.因为我从头开始时只有很少的回忆,在这一点上任何简单的事情都会做.
>我需要阅读一些长文本文件(不是perl模块)进行配置.无论模块安装在何处,我在哪里放置它们以及如何访问它们? (FindBin?)_ DATA_不方便.
>我需要提供一个可执行文件(linux和osx).可以将可执行文件放入用户的路径中作为模块安装的一部分吗? (怎么样?)
>我希望能够继续开发它,为测试目的运行它,拥有一个新版本,重新打包它,并轻松地重新上载它.
>在上传到cpan之前,我可以共享一个cpan软件包,以方便本地安装到下载程序和测试人员吗?
#cpan< mybundle.cpanbundle
建议赞赏.
问候,
/ IAW
解决方法
> Module::Starter是生成模块脚手架的一种好的,简单的方法.我的看法是几年来这种事情的默认.
>对于配置/支持文件,我想你可能想要File::ShareDir.如果只是需要多个__DATA__部分,可能值得考虑Data::Section.
>你当然可以在put scripts in the bin
subdirectory of your distribution,构建工具将在安装时将它放在正确的位置.
>构建工具将负责您描述的工作流程.
>捆绑包是不同的东西.您进行分发并共享tarball / archive.
如果你恰当地设置了PERL5LIB,那么重复make test,make install,make dist to your heart’s content.出于开发/共享目的,许多项目在github或类似项目上进行工作 – 使其易于共享.他们也有私人账户用于商业目的.如果您想要倒带并查看引入问题的位置/时间非常有用.
如果您获得了cpanm的副本(安装简单,相当轻量级),那么它可以从tar.gz文件安装,甚至可以直接从git存储库安装.您还可以告诉它安装到本地目录(local::lib兼容 – 另一个非常有用的实用程序).
希望截至2014年这是合理的最新版本.您可能会看到Dist::Zilla提到的模块开发.我的理解是,对于那些拥有大量CPAN发行版的人来说,它最有用.哦 – 如果您(或其他读者)不了解它们,请查看autodie和Try::Tiny的错误和异常,Moose(对于功能齐全的面向对象框架)和Moo(对于较小的轻量级版本).
我认为这些建议完全没有争议.我发现cpanm比“完整”的cpan客户端更令人愉快,而Moo现在也很受欢迎.