【问题标题】:How to determine if a Perl module is cross-platform?如何确定 Perl 模块是否是跨平台的?
【发布时间】:2013-07-13 10:42:15
【问题描述】:

例如,我想压缩脚本生成的日志文件。我使用的是 5.8.8 版本,因此核心中没有任何内置功能可以做到这一点。该脚本是跨平台的,Linux、Solaris、AIX、HPUX 和 Windows。

现在我正在考虑使用IO::Compress::Gzip。该模块是否有任何已知的错误?它可以在所有平台上运行吗?

再概括一点,我怎样才能知道某个模块是否有任何已知的错误,以及该模块将在哪些平台上运行?

【问题讨论】:

  • IO::Compress::Gzip 是一个核心模块,因此应该可以在 Perl 支持的每个平台上工作。

标签: perl


【解决方案1】:

CPAN 提供了一系列工具,可用于在安装模块之前确定模块的实用性。不幸的是,IO::Compress::Gzip 是一个不太理想的例子。

当您访问metacpan page of a module 时,左栏中有一个工具列表。有趣的地方是

  • 测试结果: 这会将您带到一个页面,其中显示了不同操作系统和不同 perl 版本上的测试套件的结果。很遗憾,在撰写本文时,该服务并未响应我的请求。
  • Bugs: 这是此模块的 bugtracker 的链接。您可以浏览打开的错误列表以找到可能的破坏者。如果您发现问题,可以在此处报告。
  • 评论:一些模块有 Perl 社区的简短评论和评级。您提到的模块还没有任何评分,例如,这里是ratings for List::MoreUtils
  • Dependencies 列在右栏中。如果单击“依赖项”链接,您可以获得给定 perl 版本所需非核心模块的测试结果摘要。很遗憾,目前似乎没有任何结果。

许多模块在文档中也有“错误和限制”部分。

注意: 根据corelist 程序,IO::Compress::Gzip 是 perl5 v9.4 以来的核心模块。这并不意味着什么:核心模块在 Core 中是因为它们需要安装其他模块(或者因为它们具有历史意义……CGI,*咳嗽*)。但是,这表明它相当稳定且完全跨平台。

【讨论】:

    猜你喜欢
    • 2012-05-21
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    相关资源
    最近更新 更多