我正在使用 Llama,第 6 版学习 Perl,第一章中的一些程序不适用于“使用 5.014”,我不知道为什么。例如:
#!/usr/bin/perl
#use 5.014;
$n = 1;
while ($n < 10) {
$sum += $n;
$n += 2;
}
print "The total was $sum.\n";
这适用于注释掉的“使用 5.014”,但包含它,我收到以下错误:
Global symbol "$n" requires explicit package name at ch3loop.pl line 5.
Global symbol "$n" requires explicit package name at ch3loop.pl line 6.
Global symbol "$sum" requires explicit package name at ch3loop.pl line 7.
Global symbol "$n" requires explicit package name at ch3loop.pl line 7.
Global symbol "$n" requires explicit package name at ch3loop.pl line 8.
Global symbol "$sum" requires explicit package name at ch3loop.pl line 10.
Execution of ch3loop.pl aborted due to compilation errors.
但是,如果我将“我的”放在变量的第一个实例之前,它仍然不会运行,但出于不同的原因:
Global symbol "$sum" requires explicit package name at ch3loop.pl line 10.
Execution of ch3loop.pl aborted due to compilation errors.
有人可以解释发生了什么吗?我知道我可以在没有“使用 5.014”的情况下运行它,但它确实在书的封面上说第 6 版。“涵盖 Perl 5.14”,所以我很困惑。
谢谢。