ActivePerl与CPAN模块的兼容性如何?

时间:2012-03-07 17:20:12

标签: perl cpan activeperl

我做过一些研究,似乎ActivePerl在早期版本的产品中遇到问题,某些CPAN模块无法正常安装。但是,我运行的是5.14.x版本,而且我没有遇到任何问题。

根据我见过的一些引言:

  1. ActivePerl与Perl的参考分布100%兼容。
  2. 使用ActivePerl测试的代码将在安装了相应扩展的任何Perl安装上运行。
  3. 我假设第一个语句是指你使用Perl安装时得到的标准模块,第二个语句是不确定他们在说什么?

    无论如何,有没有办法找出ActivePerl与当前CPAN模块的兼容性,或者是不知道的东西?我只是不想花时间在它上面,只需要在下个月切换到类似Strawberry Perl的东西,以避免更常见模块的CPAN模块构建失败。

    如果ActivePerl与CPAN模块的80%或更高兼容,我会觉得使用它更舒服,但我无法找到相关信息。

3 个答案:

答案 0 :(得分:3)

我怀疑通用统计数据是否有用。一般来说,我希望所有“纯perl”模块应该或多或少地开箱即用。但请记住,某些perl模块实际上是低级linux / unix样式共享库(Windows术语中的dll)的接口,其中可用性不太确定。根据我的经验(根据我的建议写了一些perl应用程序托管在Windows上),大多数事情都会起作用,和/或相当容易解决,ActiveState和Strawberryperl似乎都对大多数常见模块提供了不错的支持。 / p>

答案 1 :(得分:3)

第一个声明根本不涉及模块。它说ActivePerl不是基于 Perl,它 Perl。因此,任何将在Perl上运行的东西也将在ActivePerl上运行。

这也意味着CPAN上的所有模块都与ActivePerl兼容,因为ActivePerl是Perl。

模块是否与Windows兼容是一个完全不同的问题,它只能在逐个模块的基础上回答。


第二个声明指出,如果您有一个在原始ActivePerl上运行的脚本或模块,它可能不一定在原始Perl上运行,因为ActiveState在其分发中包含的模块不是核心模块(例如LWP)。但是,要使脚本或模块在另一个发行版上运行,您需要做的就是安装这些模块。

答案 2 :(得分:2)

您可以在http://code.activestate.com/ppm/查看PPM模块的可用性。例如,一个通过PPM无法正常工作的模块是PAR::Packer