Что не так с этим модулем Perl? - PullRequest
1 голос
/ 21 ноября 2011

Я делаю очень, очень простой модуль (это первый, который я когда-либо писал):

package Master::Math;
use 5.12.4;
use strict;
use warnings;

require Exporter;

our @ISA = qw(Exporter)

our %EXPORT_TAGS = ( 
    'all' => [ qw(
        max



=cut

1; # End of Master::Math

Когда я запускаю использовать это в моей программе, я получаю ошибку

Недопустимый формат версии (не числовые данные) в строке C: /Perl/lib/Master/Math.pm 3, рядом с синтаксической ошибкой «Package Master :: Math

» в C: /Perl / lib / Master / Math.pm строка 3, рядом с "package Master :: Math

require Exporter" Компиляция не удалась в require на C: \ MainDev \ myperl \ max.pl line 3. BEGIN fail--компиляция прервана в C: \ MainDev \ myperl \ max.pl строка 3.

Что мне нужно, чтобы это исправить?Спасибо!

1 Ответ

6 голосов
/ 21 ноября 2011

Вы пропускаете точку с запятой при объявлении @ISA.

В sub max, $foo не объявлено;используйте foreach my $foo ....

Это должно заставить его скомпилироваться.Я не смотрел дальше этого.

(Кстати, я не получил те же ошибки, что и вы. Я использовал perl 5.14.0, perl -cw master-math.pm.)

...