我们的关键字什么时候需要?

时间:2011-07-14 08:36:54

标签: perl variables built-in

perl -e 'use strict;use warnings;$a=2;print $a'

当我声明一个没有our的全局变量时,似乎没有报告警告,那么这个关键字什么时候需要呢?

2 个答案:

答案 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.