Как найти ошибку компиляции в этом операторе Perl? - PullRequest
0 голосов
/ 18 ноября 2009

У меня есть этот код:

my $orig_file_size = -s $file ;

Выдает ошибку:

syntax error at ftp_4 line 33, near "$orig_file_size)"
Execution of ftp_4 aborted due to compilation errors.

Вот еще немного кода:

 my $host ='hpp411';
 my $user ='sonalg';
 my $pw   ='Unix11!';

 my $file ='ftp_example.p_1';
 my $path ='/enbusers3.p411/vdx/af/sonalg/oldproj';
 my $orig_file_size = -s $file;

 my $ftp = Net::FTP->new($host, Debug => 1)
 or die "Could not connect to '$host': $@";

Ответы [ 3 ]

4 голосов
/ 18 ноября 2009

Проверьте ваш источник

Согласно сообщению об ошибке, у вас есть закрывающая скобка после такой переменной:

my $orig_file_size) = -s $file ;

Если это так, просто удалите его.

1 голос
/ 18 ноября 2009

Ваше сообщение об ошибке (но не код, как показано) предполагает, что у вас есть случайные скобки после $ orig_file_size.

У вас есть:

my $orig_file_size) = -s $file ;

Если это так, попробуйте:

my $orig_file_size = -s $file ;

или

my($orig_file_size) = -s $file ;
1 голос
/ 18 ноября 2009

Ничего плохого в этом утверждении. Проблема, вероятно, ранее в файле.

Соблазнительно сказать, что проблема связана с предыдущей строкой, но, учитывая сложность синтаксического анализа Perl, проблема может быть где угодно выше файла. В первую очередь нужно искать строки, которые не были закрыты должным образом, и строки, в которых отсутствует завершающая точка с запятой.

...