Perl CPAN风格的包装,没有lib / * .pm

时间:2011-01-19 21:43:42

标签: perl package cpan

我有一组Perl脚本和一些他们依赖的XML数据文件,我想分发这些文件。目前,我有一个shell脚本,它将bin / *和share / *复制到目标安装树。它看起来有点笨重,所以我想采用标准CPAN包装Perl的方式。

将我在CPAN风格的包中包含的内容捆绑起来是否有意义?我怀疑它没有任何问题,但我看过的每个教程都认为lib / Blah.pm是任何软件包中必不可少的文件 - 我甚至没有lib /目录,更不用说任何.pm文件了。

是否有标准解决方案用于打包Perl脚本集合以及共享/目录中的一些数据?

1 个答案:

答案 0 :(得分:6)

发行版不关心模块。默认情况下,大多数工具都设置为处理模块,因为这是常见的情况,但只要您提供逻辑来告诉构建文件如何处理您提供的任何文件,就可以真正分发任何内容。

ExtUtils :: Makemaker很难用于此类事情,但是Module :: Build(尽管有“Module”这个词)使它变得更容易。但是,您必须了解一些有关自定义Module :: Build类的信息,以便您可以覆盖您不想要的默认行为。

如果您正在谈论独立脚本,可以查看我的scriptdist发布或Dr. Dobbs article I wrote about it。它不会为您处理 share / 部分,但添加起来并不难。