根据我的理解,Perl 传统上只包含核心功能,人们安装额外的库来完成各种有用的(有时是非常基本的)事情。但在某些时候,Perl 默认附带了“核心库”——因此您可以使用这些库而无需安装它们。
来自Python,我很好奇这是如何管理的。具体来说:
- 图书馆是如何选择的?
- 这些库还有自己的版本号和发布时间表吗?
- 使用这些库时有什么样的向后兼容性保证?
- 系统中这些库的升级或降级是否常见?这是在系统范围内完成的还是更具体的?
- 如果存在需要更改 API 的错误修复,这是如何发生的?
- 如何向这些核心库添加功能(如果有的话)?
- 目前,只有引导/安装其他库所需的库才会进入核心清单 http://search.cpan.org/dist/Module-CoreList/.
- 有些只存在于 Perl git 存储库中。有些在 CPAN 和存储库中具有双重生命。有时,错误会在存储库中得到修复,并且更改会向后移植到 CPAN 版本。有时 CPAN 上有新版本,Perl 维护者会将模块签入存储库。
- 您可以依赖核心模块。在删除之前有一个非常长的弃用时间跨度,最近的一个突出例子是
Switch
.
- 打包者(例如为 Linux 发行版构建 RPM 的人)永远无法做到这一点;包含路径的错误顺序(
@INC
)不是他们的错,并且终于在5.12修复了 http://perldoc.perl.org/perl5120delta.html#%40INC-reorganization。这就是建议编译您自己的 perl 并且不要弄乱系统安装的原因。在 5.12 中,您应该只使用 CPAN 来安装核心模块的升级版本,并且它会附加安装到系统附带的模块中,但由于新模块在包含路径中位于旧模块之前,因此新模块会出现在旧模块之前。当你加载时use
/require
it.
- 布置于政策 http://perldoc.perl.org/perlpolicy.html.
- 对功能进行编程并对其进行测试,记录该事物,然后在 CPAN 上发布或分别让维护人员应用变更集。这伴随着关于p5p http://www.perlfoundation.org/perl5/index.cgi?p5p.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)