perl -e 'use strict;use warnings;$a=2;print $a'
当我声明一个没有our
的全局变量时,似乎没有报告警告,那么这个关键字什么时候需要呢?
答案 0 :(得分:16)
$a
和$b
是特殊情况 - 它们是为sort
保留的(例如sort { $a <=> $b }
),不应该用于您自己的变量名称 - 请再次尝试使用别的什么,看看会发生什么!
答案 1 :(得分:11)
来自perlvar:
$a
$b Special package variables when using "sort()", see "sort" in
perlfunc. Because of this specialness $a and $b don't need to
be declared (using "use vars", or "our()") even when using the
"strict 'vars'" pragma.