Perl:使用5.014启用哪些功能?

前端之家收集整理的这篇文章主要介绍了Perl:使用5.014启用哪些功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
“使用5.014”启用了什么?

请,有人在这里复制并粘贴,因为我无法在任何perldoc中找到它。 (也许我是盲人)。在“perldoc功能”中只有5.10的一些东西。或者指向一些URL。

thanx。

编辑:

请先检查一下,你有什么回复。例如:尝试这样:

use 5.008;
$s=1;
say "hello";

你会收到关于“说”的错误消息,因为perl 5.8不知道“说”

之后,尝试这样:

use 5.014;
$s=1;
say "hello";

你会得到错误

Global symbol "$s" requires explicit package name

所以,“使用5.014”使能严格,并使用功能“说”; – 默认。

解决方法

除了 what raj correctly said以外,如果使用5.014和旧版本的Perl,您将收到错误消息,您可以找到启用阅读 source code of feature功能的列表。相关部分接近顶部:
my %feature_bundle = (
    "5.10" => [qw(switch say state)],"5.11" => [qw(switch say state unicode_strings)],"5.12" => [qw(switch say state unicode_strings)],"5.13" => [qw(switch say state unicode_strings)],"5.14" => [qw(switch say state unicode_strings)],);

严格的位部分被掩埋在解释器本身的代码中。如果你看看pp_ctl.c for tag v5.11.0

/* If a version >= 5.11.0 is requested,strictures are on by default! */

if (PL_compcv && vcmp(sv,sv_2mortal(upg_version(newSVnv(5.011000),FALSE))) >= 0) {
    PL_hints |= (HINT_STRICT_REFS | HINT_STRICT_SUBS | HINT_STRICT_VARS);
}

猜你在找的Perl相关文章