【问题标题】:How compatible is ActivePerl with CPAN modules?ActivePerl 与 CPAN 模块的兼容性如何?
【发布时间】:2012-03-25 06:14:39
【问题描述】:

我进行了一些研究,似乎 ActivePerl 在其产品的早期版本中存在问题,某些 CPAN 模块安装不正确。但是,我运行的是 5.14.x 版本,我没有遇到任何问题。

根据我看到的一些引用:

  1. ActivePerl 与 Perl 的参考分布 100% 兼容。
  2. 使用 ActivePerl 测试的代码将在安装了适当扩展的任何 Perl 安装上运行。

我假设第一个语句是指您在安装 Perl 时获得的标准模块,而第二个语句我不确定他们在说什么?

在任何情况下,有什么方法可以查明 ActivePerl 与当前 CPAN 模块的兼容性如何,或者这是未知的?我只是不想花时间在它上面,只需要在下个月切换到类似 Strawberry Perl 的东西,以避免更常见的模块的 CPAN 模块构建失败。

如果 ActivePerl 与 80% 或更高的 CPAN 模块兼容,我会觉得使用它会更舒服,但我找不到任何有关这方面的信息。

【问题讨论】:

  • ActivePerl 有自己的包管理器 (ppm) 来下载模块。有趣的是,它的存储库中只有一个 CPAN 模块的选择。然而,这意味着什么值得商榷。

标签: perl cpan activeperl


【解决方案1】:

您可以在http://code.activestate.com/ppm/ 上查看 PPM 模块的可用性。例如,通过 PPM 不能很好地工作的一个模块是 PAR::Packer

【讨论】:

    【解决方案2】:

    第一个语句根本没有引用模块。它说ActivePerl 不是基于 Perl,它 Perl。因此,任何将在 Perl 上运行的东西也将在 ActivePerl 上运行。

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

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


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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 好的,可以接受。获得一些比我有更多经验的输入就足够了。
      • 就我个人而言,我相信 perl 提供了非常好的 Windows 支持,并且对于不支持本地(高性能 C 编译)库的平台,Perl 经常提供一个“纯 perl”实现,效果很好,虽然可能会慢一些。但是 Perl 本身也很快,所以通常这不是一个大问题(当然取决于你做什么)。
      猜你喜欢
      • 2012-06-02
      • 2019-07-24
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 2022-11-29
      • 2011-02-10
      • 2012-08-14
      相关资源
      最近更新 更多