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

时间:2014-01-28 15:57:50

标签: perl cpan

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

  • 十年前,我曾经使用过h2xs包装制造商。这仍然是最值得推荐的入门方式吗?曾经有过几种选择。因为我从头开始很少回忆,所以这一切都很简单。

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

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

  • 我希望能够继续开发,运行它以进行测试,拥有新版本,重新打包并轻松重新上传。

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

    #cpan< mybundle.cpanbundle

建议表示赞赏。

的问候,

/ IAW

2 个答案:

答案 0 :(得分:5)

如果我说与Andy Lester发生冲突,请听取他的意见。他比我更了解。

  • Module::Starter是一种生成模块脚手架的简单方法。我的看法是几年来这种事情的默认情况。

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

  • 您当然可以put scripts in the bin subdirectory of your distribution,构建工具会在安装时将其放在正确的位置。

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

  • 捆绑包是不同的。您进行分发并共享tarball / archive。

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

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

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

我认为这些建议完全没有争议。我发现cpanm比“完整”的cpan客户端更令人愉快,Moo现在也很流行。

答案 1 :(得分:4)

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

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