我写了一个简单的脚本使用given
/ when
来试用这个功能,但我不断收到编译错误.最后,我use 5.010_001;
在脚本的顶部包含了一些内容,认为我的Perl版本太旧了,无法使用given
/ when
.有效.
然后我打印了我的Perl版本$]
并使用它:use 5.018_002;
它也起作用了.为什么Perl默认不使用最新安装版本的功能?
该声明
use VERSION;
隐含的
no feature ':all'; use feature ':VERSION';
所以:
为什么Perl不使用默认安装的最新版本的功能?
根据perldoc feature
:
在不破坏某些现有程序的情况下,通常无法向Perl添加新语法.该pragma提供了一种最小化风险的方法.新的语法结构或旧结构的新语义含义可以通过
use feature 'foo'
,并且仅在适当的特征编译指示在范围内时才会被解析.