我见过几个posts,Perl中的状态use 5.12.0;
默认启用某些功能/编译指示(例如use strict;
)。另一个例子是UTF-8 and perl,其中use 5.14.0;
是
最适合Unicode字符串功能UTF-8处理。
我似乎回想起提供某些默认值的可用use
声明(例如use strict; use warnings; use diagnostics;
),但不记得具体内容。如何找出给定use 5.##.#;
语句中包含的内容?例如,use 5.22.0;
默认提供什么? use strict;
?
答案 0 :(得分:10)
perldoc feature
中记录了这一点:
可以使用功能包将多个功能加载到一起。功能包的名称以冒号为前缀,以区别于实际功能。
use feature ":5.10";
可以使用以下功能包:
bundle features included --------- ----------------- :default array_base :5.10 say state switch array_base :5.12 say state switch unicode_strings array_base :5.14 say state switch unicode_strings array_base :5.16 say state switch unicode_strings unicode_eval evalbytes current_sub fc :5.18 say state switch unicode_strings unicode_eval evalbytes current_sub fc :5.20 say state switch unicode_strings unicode_eval evalbytes current_sub fc :5.22 say state switch unicode_strings unicode_eval evalbytes current_sub fc
,其中
中记录了自动启用限制use v5.10.0;
会做一个隐含的
no feature ':all'; use feature ':5.10';
等等。
如果指定的Perl版本大于或等于5.12.0,则与
use strict
一样在词法上启用限制。
答案 1 :(得分:2)
答案 2 :(得分:2)
对于feature未涵盖的增强功能,您可以使用Syntax::Construct。