有关perl中的$a和$b,这两个变量是为sort函数准备的内置变量,所以声明时可以不加 my。
即使打开了strict和warnings选项也无妨,下面代码并无错误和警告。
#!/usr/bin/perl
use strict;
use warnings;
sub test {
$a = 1;
$b = 2;
print $a, "n";
print $b, "n";
}
test();
1;
下面是perl文档中对这两个变量的解释:
perldoc 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. Don't lexicalize them with "my $a" or "my $b" if you want to be able to use them in the sort() comparison block or function.