例如,我认为Encode模块被认为是核心模块,随每个Perl副本一起提供。它在Perldoc上有自己的页面:
https://perldoc.perl.org/Encode.html
...但它也可以在CPAN上使用:
http://search.cpan.org/~dankogai/Encode-2.92/Encode.pm
从浏览这两个文档看,它们似乎包含相同的文本。那么为什么要把它放在两个地方呢?是否可以使用CPAN在"任何Perl模块上查找文档"?
答案 0 :(得分:9)
据说这些模块是“双重生活”模块。
因此,用户无需升级perl
本身即可升级模块。
因此,开发人员可以按照与perl
本身不同的时间表(例如,更频繁地)发布对模块的修复和更新。
或者模块可能在CPAN上启动,后来又添加到perl
发行版中(例如,因为工具链中的模块需要它)。
或者该模块正在从Perl发行版中删除。
答案 1 :(得分:2)
另外,在CPAN上提供核心库可以轻松地从Perl附带的版本升级,以获得最新的改进和错误修复。
例如,某些版本的perl附带Encode
版本:
Perl Encode
v5.22.4 2.72_01
v5.24.2 2.80_01
v5.26.1 2.88
(使用corelist -a Encode
检索)。其中任何一个都可以很容易地更新到最新的Encode 2.92。