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
