perl - 如何在 Perl 中重新分配非核心模块?

标签 perl

我对 Perl 比较陌生,我需要一些帮助来重新分发非核心模块。这是整个故事。

Perl 脚本中使用了两个非核心模块: XML::简单 SOAP::Lite .我正在使用的版本(目前在 Windows 上)是 Strawberry Perl,因此这两个模块已经包含在内。但是,我们不知道最终用户(Unix/Linux 系统)是否拥有这两个模块,因为他们可能只有标准版本,因此只有核心模块。我的目标是让最终用户尽可能少地进行配置/安装。

首先,我尝试查看是否有任何类似于 的核心模块。 XML::简单 SOAP::Lite .不幸的是,我没有找到任何(如果我错了,请纠正我)。

所以我想现在唯一的选择是重新分配这两个模块。我检查了这两个模块允许重新分发。我现在的问题是如何去做。我尝试使用关键字“perl redistribute”进行谷歌搜索,但没有发现任何有用的东西。我的猜测是我们使用导出器工具来实现这一点。但这两个模块是相当复杂的模块,它们有几个嵌套的文件夹/pm 文件(以及一大堆其他文件,如 MAKE、pod、ini 文件),所以我不确定我应该做什么。我使用 exporter 找到的示例非常简单:它们只有 1 个 pm 文件和 1 个 pl 文件,它们被放置在一个文件夹中。

此外,我愿意接受任何其他更好的方法来处理这个问题。目标只是确保所有最终用户都能以最少的配置/安装工作使用我的脚本,因为我们不希望他们遇到一大堆兼容性问题。

任何帮助,将不胜感激。谢谢! =D

最佳答案

我想详细说明@ikegami 说的。

SOAP::Lite有一个 large number of CPAN dependencies ,因此安装您的模块的人将需要 CPAN 访问权限才能构建它,无论您是为他们提供它,还是将其列为依赖项。否则,您将需要提供整个依赖关系树,此时您最终会使用 perlbrew、可能是 carton,可能还可能是 local::lib,然后您可能会决定需要下一个更高级别并生成 RPM 和 DEB。

最好只提供您的脚本,打包为 CPAN 模块,列出您的依赖项,然后让芯片落在可能的位置。

关于perl - 如何在 Perl 中重新分配非核心模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347079/

相关文章:

windows - 无法安装 perl 模块 Crypt::TEA

perl - 如何在 Perl 中使用 boolean 变量?

perl - 使用 Perl here-document 导致 "Can' t 在 EOF 之前的任何位置找到字符串终止符 "EOF"”

syntax - 为什么这个 Perl 代码不是错误

linux - 如何将环境设置导入我的 Perl 程序?

RegEx,替换可变数量的替换

perl - 在 Hammer 解析器组合器中,如何实现引用自身的规则?

regex - 如何重建正则表达式匹配部分

Perl WWW::Mechanize foreach 循环跟踪链接并查看它们是否给出 401 响应

perl - Perl 模块是否知道它的安装位置?