为什么Perl默认不使用最新版本?

当我尝试使用新的perlfunction(如“说”而不是“打印”)时,代码会失败,直到我输入“use 5.014”行。 然后一切都运行了。

我安装的perl版本是5.14.2,它看起来像我安装的唯一二进制文件,为什么默认情况下不使用新function?

谢谢!

默认情况下,出于向后兼容性原因,未启用Perl中的新function。

来自perdoc.perl.org :

如果您需要在使用不适用于旧版本Perl的库模块之前检查当前的Perl版本,这通常很有用。 (我们尽量不要这么做。)

此外,如果指定的Perl版本大于或等于5.9.5,则使用VERSION还将加载function部件编译指示并启用所请求版本中的所有可用function。 看function 。

类似地,如果指定的Perl版本大于或等于5.11.0,则使用strict strict(与实际未加载strict.pm文件除外)的词法启用限制。

更新版本的Perl尚未批准/承诺12.04,12.10甚至13.10。 在这里查看Perl的主要Ubuntu页面。 但是,看起来确实有一些与Perl 5.17一起工作的活动。

您可以从源代码安装,但我不建议过度使用Perl系统安装。 相反,我建议使用PerlBrew安装沙盒版本。