标签: perl
我编写了一个perl代码示例:
use strict; use warnings; $a=1; $b=2; if($b==2) { $a=3; } print $a;
理想情况下,当我运行此代码时,它应该将错误称为“全局符号”$ a“需要显式包名...” 但它没有给出任何错误。它将输出设为“3”。 为什么这样?据我所知,如果我们使用strict,那么我们需要定义变量的范围,否则会产生错误。 我的理解错了吗?
答案 0 :(得分:6)
$a和$b是特殊变量,因此与strict一起使用时不会出现上升错误。
$a
$b
strict
来自perldoc strict,
perldoc strict
由于sort()的特殊用途,变量$ a和$ b免于此检查。