No hace falta que vuelvas a copiar el código nuevamente. Fíjate que puedes reeditar tus mensajes, por lo que puedes cambiar el código ya publicado como quieras.
En cuanto al fallo, es porque no sabemos de dónde viene la variable $FTP.
Cuando se comienza a programar en Perl es siempre recomendable el uso de los
pragmas use strict; y
use warnings; para que nos ayuden a cometer errores como los que muestras. Yo además uso el
use diagnostics; para que dé más información aún.
Si ejecuto este programa:
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict
;
use warnings
;
use diagnostics
;
my $ftp;
my @archivos = $FTP->dir();Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
sale
- Código: Seleccionar todo
explorer@casa:~/Documents/Desarrollo> ./kk.pl
Global symbol "$FTP" requires explicit package name at ./kk.pl line 6.
Execution of ./kk.pl aborted due to compilation errors (#1)
(F) You've said "use strict vars", which indicates that all variables
must either be lexically scoped (using "my"), declared beforehand using
"our", or explicitly qualified to say which package the global variable
is in (using "::").
Uncaught exception from user code:
Global symbol "$FTP" requires explicit package name at ./kk.pl line 6.
Execution of ./kk.pl aborted due to compilation errors.
at ./kk.pl line 12
ya me está avisando que la variable $FTP no se ha declarado ni definido por ninguna parte. Así que quizás me he equivocado al escribirla.