Perl 5.6.0 introdujo la declaración our que permite declarar variables de paquete. Un paquete es un espacio de nombres.
Una declaración package cambia el ''espacio de nombres''
hasta que encontremos una nueva declaración package
,
o hasta el final del bloque actual.
El package
inicial es el package main .
Cuando sea necesario hacer explıcito a que package
pertenece
una variable se prefija su nombre con el del
package
, separado por ::
.
Una $variable
declarada con our
en el paquete $nombre::de::paquete
es accesible desde cualquier fichero
y desde cualquier paquete vía su nombre completo: $nombre::de::paquete::variable
.
Veamos un ejemplo:
package C110; # estamos en el espacio de nombres C110 our $a = 5; # variable del paquete C110 fun1 # función del paquete C110 { print "$a\n"; } package D110; # ahora estamos en el espacio de nombres D110 # ...salimos del paquete C110 our $a = 7; # esta $a es del paquete D110 print $a; # imprime 7 print $C110::a; # imprime 5 # note como podemos acceder el espacio de nombres C110... # note el $ y los :: C110::fun1; # llama a fun1 de C110...imprime: 5