perl:新的cpan模块制造商?本地配置文本文件和可执行文件也是?

ivo*_*lch 8 perl cpan

我正在编写一个我希望与其他人分享的perl程序,最终通过cpan.它已经到了我应该开始更大规模地考虑这一点的地步.

  • 十年前,我曾经使用过h2xs包装制造商.这仍然是最值得推荐的入门方式吗?曾经有过几种选择.因为我从头开始时只有很少的回忆,在这一点上任何简单的事情都会做.

  • 我需要阅读一些长文本文件(而不是perl模块)进行配置.无论模块安装在何处,我在哪里放置它们以及如何访问它们?(FindBin?) _ DATA _不方便.

  • 我需要提供一个可执行文件(linux和osx).可以将可执行文件放入用户的路径中作为模块安装的一部分吗?(怎么样?)

  • 我希望能够继续开发它,为测试目的运行它,拥有一个新版本,重新打包它,并轻松地重新上载它.

  • 在上传到cpan之前,我可以共享一个cpan软件包,以方便本地安装到下载器和测试人员吗?

    #cpan <mybundle.cpanbundle

建议赞赏.

问候,

/ IAW

Ric*_*ton 5

如果我说与安迪莱斯特发生冲突,请听取他的意见.他比以往任何时候都更了解.

  • Module :: Starter是一种生成模块脚手架的好方法.我认为这是几年来这种事情的默认.

  • 对于配置/支持文件,我想你可能想要File :: ShareDir.可能值得考虑Data :: Section,如果它只是需要多个__DATA__部分的问题.

  • 您当然可以将脚本放在发行版的bin子目录中,构建工具会在安装时将其放在正确的位置.

  • 构建工具将负责您描述的工作流程.

  • 捆绑是不同的东西.您进行分发并共享tarball/archive.

如果设置PERL5LIB得当,然后重复make test,make install,make dist你的心脏的内容.出于开发/共享的目的,许多项目在github或类似项目上进行工作 - 使其易于共享.他们也有私人账户用于商业目的.如果您想要倒带并查看引入问题的位置/时间非常有用.

如果你得到cpanm的副本(安装简单,相当轻量级),那么它可以从tar.gz文件安装,甚至可以直接从git存储库安装.您还可以告诉它安装到本地目录(local :: lib compatible - 另一个非常有用的实用程序).

希望到2014年它是合理的最新版本.您可能会看到Dist :: Zilla提到了模块开发.我的理解是,对于那些拥有大量CPAN发行版的人来说,它最有用.哦 - 如果你(或其他读者)不了解它们,请检查autodieTry :: Tiny周围的错误和异常,Moose(用于功能齐全的面向对象框架)和Moo(用于较小的轻量级版本) ).

我认为这些建议完全没有争议.我觉得cpanm比"完整"的cpan客户端更令人愉快,而且Moo现在看起来也很受欢迎.


And*_*ter 4

看一下 Module::Starter 及其功能更强大(且更复杂)的后继者 Dist::Zilla。

无论你做什么,都不要使用 h2xs。Module::Starter 是专门创建的,因为 h2xs 是一个不适合创建发行版的工具。