2009-11-18 4 views
0

Je possède ce code:Comment trouver l'erreur de compilation dans cette instruction Perl?

my $orig_file_size = -s $file ; 

jette une erreur:

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

Voici un peu plus code:

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': [email protected]"; 
+2

Je pense que nous devons voir un peu plus de code. Ce '' 'dans le message d'erreur m'inquiète. – pavium

+3

Vous devez publier le code exact qui cause un problème. Le ')' dans votre message d'erreur n'apparaît pas dans le code que vous avez posté. Évitez également de publier des mots de passe sur un site Web public. –

Répondre

4

Vérifiez la source

Selon le message d'erreur, vous avez un crochet de fermeture après la variable comme ceci:

my $orig_file_size) = -s $file ; 

Si oui, il suffit de l'enlever.

1

Le rien de mal à cette déclaration. Le problème est probablement plus tôt dans le fichier.

Il est tentant de dire que le problème est avec la ligne précédente, mais étant donné la difficulté d'analyser Perl, le problème pourrait être n'importe où plus haut dans le fichier. Les premières choses à rechercher sont les chaînes qui n'ont pas été correctement fermées et les lignes qui manquent leur point-virgule.

1

Votre message d'erreur (mais pas votre code comme indiqué) suggère que vous avez une parenthèse parasite après $ orig_file_size.

Avez-vous fait:

my $orig_file_size) = -s $file ; 

Si oui, essayez:

my $orig_file_size = -s $file ; 

ou

my($orig_file_size) = -s $file ;