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