Tengo una pregunta relacionada con Perl y el alcance. Tengo un archivo común con muchas variables diferentes. Necesito el archivo común en mi script principal, pero no puedo acceder a las variables; parecen estar fuera de su alcance. Supuse que una declaración our
resolvería ese problema, pero parece que no funciona.¿Por qué mi secuencia de comandos de Perl no puede ver las variables our() que definí en otro archivo?
Guión 1: common.pl
#!/usr/bin/perl
our $var1 = "something";
our $var2 = "somethingelse";
Guión 2: ftp.pl
#!/usr/bin/perl
use strict;
use warnings;
require('common.pl');
print $var1;
me sale el error:
Global symbol "$var1" requires explicit package name
El símbolo global, $ var1, requiere un nombre de paquete explícito. – jrockway
Lea http://perl.plover.com/FAQs/Namespaces.html –
El elemento 1 de la Programación efectiva de Perl (ISBN: 0201419750, Joseph Hall y Randal Schwartz) se titula: Conozca sus espacios de nombres. Es una referencia excelente para esto, y un gran libro, también. –