从我的理解来看,Perl传统上只包括核心功能,人们安装了其他库来完成各种有用的(有时是非常基本的)事情。但是在某个时候,有默认情况下将带有Perl的“核心库”,因此您可以在不安装它们的情况下使用这些库。

来自Python,我很好奇如何管理。具体来说:

  1. 如何选择图书馆?
  2. 图书馆是否仍然有自己的版本编号和发布时间表?
  3. 使用这些库时,您可以保证什么样的落后兼容性?
  4. 在系统中升级或降级这些库是否常见?这是在整个系统范围内还是更具体地完成?
  5. 如果有一个需要更改API的错误修复程序,那将如何发生?
  6. 这些核心库如何添加功能(如果是的话)?
有帮助吗?

解决方案

  1. 当前,仅引导/安装其他库所需的库进入 核心列表.
  2. 有些仅在perl git存储库中。有些是CPAN和回购中的双重生命。有时,错误将在存储库中修复,并且更改将退回到CPAN版本。有时,CPAN上有一个新版本,并且在模块中的Perl Vasiner检查中有一个新版本。
  3. 您可以依靠核心模块。在删除一个人之前,有一个非常漫长的折旧时间潘,最近的突出例子是 Switch.
  4. 包装器(例如为Linux发行版构建RPM的人)永远无法正确解决这一问题;包括路径的错误顺序(@INC)不是他们的错, 最后用5.12固定. 。这就是建议汇编自己的perl而不是与系统安装混乱的原因。使用5.12,您应该只使用CPAN安装核心模块的升级版本,并且它将其额外安装到带有系统的运输量中,但是由于新的核心模块是在旧的旧路径中,因此一个人在你时被加载 use/require 它。
  5. 布置 Perlpolicy.
  6. 为其编程功能和测试,记录事物,然后在CPAN上释放或使维护者应用更改集。伴随着讨论 P5P.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top