我想在我的CPAN模块中包含一些额外的.pl文件。这些文件对于使用模块不是必不可少的,但是当模块用于某些通用框架和应用程序时,它们提供了有用的功能/粘合剂。
目前,我只是将.pl文件包含在发行版的“extras”目录中。这样做的缺点是make install
上没有安装文件。有没有办法将它们包含在安装中,它们应该放在哪里? (它们不是可执行文件,不属于“bin”。)“共享”是否有意义?或者这些类型的文件通常只是没有安装,是由用户从.tgz存档中取出并根据需要使用?
我使用Dist :: Zilla来管理我的发行版。
答案 0 :(得分:1)
我建议如下:
/bin
。::Utils
模块供他们居住并记录他们的使用情况。::Cookbook
all-POD模块并将其包含在那里,并为每个模块提供适当的说明性解释。答案 1 :(得分:0)
我不确切知道Dist :: Zilla的工作原理,但最终的存档必须与ExtUtils :: MakeMaker创建的内容兼容。
使用module-starter
创建模块时,会使用ExtUtils::MakeMaker
创建模块模板。它会创建几个文件和目录,例如模块所在的lib
目录以及测试所在的t
目录。
它没有创建的一件事是bin
目录。但是,如果您创建一个bin
目录,并将文件放在此目录下(例如Perl脚本),则这些文件将安装在Perl分发中的bin
目录下并链接到/usr/local/bin
或/usr/bin
。这会是你脚本的好地方吗?
答案 2 :(得分:0)
我喜欢@ Joe的回答,除了在我的情况下文件是WebWork macros - 个人.pl文件,使我的模块可以从WebWork最终用户的代码调用。所以它们不适合这里讨论的任何类别,因为.pl文件不能成为模块。
这就是我最终做的事情:
[ShareDir]
个dir = extras
属性文件。perl -MFile::ShareDir -e 'print File::ShareDir::dist_dir("Statistics-R-IO")'
查找宏并使其在WebWork中可用。