为什么没有通过strict
发出错误:
use strict;
$a = $a + 1;
为什么没有通过strict
发出错误:
use strict;
$a = $a + 1;
$和$ b是由sort
使用特殊的全局变量,所以他们总是被定义。尝试用$ c代替,你会得到一个错误。
$a
是一个特殊的全局变量。它不需要声明。请参阅perldoc perlvar。
虽然strict
不抱怨的特殊$a
和$b
变量, perlcritic会发现它们的用法:
魔术应将变量分配为 “本地”...(严重性:4)
请注意,这意味着使用$ a和$ b用于其他目的是一个非常糟糕的主意。 (使用一个名为$ c的变量也是不好的,但不太如此以及其他原因。) – ysth 2010-03-10 11:56:17