Некоторые программы в «Learning Perl», 6-е изд. не работает с «использовать 5.014» -почему?

Я изучаю Perl с Llama, 6-е изд., и некоторые программы в первых главах не работают с «использовать 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", так что я озадачен.

Спасибо.

5
задан Marc Adler 4 August 2012 в 02:18
поделиться