perl - Perl 的核心库是如何管理的?

标签 perl perl-core

据我了解,Perl 传统上只包含核心功能,人们安装额外的库来做各种有用的(有时是非常基本的)事情。但是在某些时候,出现了默认情况下随 Perl 一起提供的“核心库”——因此您可以在不安装它们的情况下使用这些库。

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

  • 图书馆是如何选择的?
  • 这些库是否还有自己的版本号和发布时间表?
  • 使用这些库时,您有什么样的向后兼容性保证?
  • 在系统中升级或降级这些库是否常见?这是在系统范围内完成的还是更具体的?
  • 如果有需要更改 API 的错误修复,这是如何发生的?
  • 如何将功能添加到这些核心库中(如果有的话)?
  • 最佳答案

  • 目前,只有引导/安装其他库所需的库进入 core list .
  • 有些仅在 Perl git 存储库中。有些是 CPAN 和 repo 中的双重生命。有时错误会在 repo 中得到修复,并且更改会向后移植到 CPAN 版本。有时 CPAN 上有一个新版本,Perl 维护者将模块 checkin 到 repo 中。
  • 你可以依赖一个核心模块。在删除之前有很长的弃用时间跨度,最近的突出示例是 Switch .
  • 打包者(例如为 Linux 发行版构建 RPM 的人)永远无法做到这一点;包含路径的错误顺序( @INC )不是它们的错,而 finally fixed with 5.12 .这就是建议编译您自己的 perl 并且不要弄乱系统安装的原因。在 5.12 中,您应该只使用 CPAN 来安装核心模块的升级版本,并且它会附加安装到系统随附的模块中,但由于新模块在包含路径中的旧模块之前,因此新模块当您 use 时加载一个/require它。
  • 布局于 perlpolicy .
  • 编写功能并对其进行测试,记录事物,然后在 CPAN 上发布或分别让维护人员应用变更集。这伴随着关于 p5p 的讨论。 .
  • 关于perl - Perl 的核心库是如何管理的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967895/

    上一篇:r - 函数的导数

    下一篇:api - 美国运通API

    相关文章:

    xml - 如何使用 Perl 查找和替换 XML 中的文本?

    perl - MongoFiles、GridFS 和 Perl

    perl - 如何退出当前的 CPAN 模块并打开一个新 session ?

    perl - 为什么我不必为 atan2 等使用 "use Math::Trig"?

    Perl "do",相对路径以 "."或 ".."开头

    perl - 模棱两可的调用解析为 CORE::join(),限定为这样或使用 & at

    linux - 如果在 perl 脚本中运行 cp 是否会覆盖存在的文件?

    perl - XML::LibXML 是否可以解析古怪的标签?