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);
}

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...