Perl解释器默认使用什么版本?

时间:2015-12-29 05:18:19

标签: perl

我使用given / when编写了一个简单的脚本来试用这个功能,但我不断收到编译错误。最后,我在脚本的顶部添加了use 5.010_001;,认为我的Perl版本太旧而无法使用given / when。有效。

然后我使用$]打印了我的Perl版本并改为使用它:use 5.018_002;,这也有效。为什么Perl默认不使用最新安装版本的功能?

1 个答案:

答案 0 :(得分:6)

声明

use VERSION;

隐含

no feature ':all';
use feature ':VERSION';

所以:

  

为什么Perl不使用默认安装的最新版本的功能?

根据perldoc feature

  

在不破坏某些现有程序的情况下,通常无法向Perl添加新语法。该pragma提供了一种最小化风险的方法。新的语法结构或旧结构的新语义含义可由use feature 'foo'启用,并且仅在适当的特征编译指示在范围内时才会被解析。