package.
Una declaración package cambia el espacio de nombres
hasta que encontremos una nueva declaración package,
o hasta el final del bloque actual. De hecho, las variables en
Perl se clasifican como package variables y lexical variables.
Estas últimas son las declaradas con my. Las
variables package pertenecen, naturalmente, a un package
(normalmente el actual).
El package inicial es el package main.
Cuando sea necesario hacer explıcito a que package pertenece
la variable, puede hacerse prefijando su nombre con el del
package, separado por ::.
package C110;
# estamos en el espacio de nombres C110
$a = 5; # variable del paquete C110
fun1 # función del paquete C110
{
print "$a\n";
}
# ...salimos del paquete C110
package D110;
# ahora estamos en el espacio de nombres D110
$a = 7; # esta $a es del paquete D110
print $a; # imprime 7
print $C110::a;
# imprime 5
# note como accesamos el espacio de nombres C110...
# note el $ y los ::
C110::fun1; # llama a fun1 de C110...imprime: 5
Asi pues, para acceder a un identificador situado en un
espacio de nombres diferente del actual debemos
prefijar el identificador con el nombre del paquete;
esto se denomina especificación completa del nombre o
fully qualifying the name.
Si un identificador no está completamente especificado,
Perl lo busca en el package actual.
Nótese que escribimos $C110::a y no C110::$a
Casiano Rodríguez León
