next up previous contents
Next: Métodos para la inclusión Up: Sugerencias para el uso Previous: Sugerencias para el uso   Contents

Paquetes y espacios de nombres

Es práctica común --y muy recomendable-- utilizar un espacio de nombres separado cuando utilizamos módulos. Esto nos ayuda a evitar que las funciones y variables globales que requiramos utilizar choquen con otras, definidas con el mismo nombre en el programa principal. El espacio de nombres por omisión es main, y al nombre completo de cualquier función o variable en Perl ($var, &func, @arr) se le antepone su paquete -- El nombre real de estos símbolos es en realidad $main::var, &main::func o @main::arr. Estos espacios de nombres se aplican a todo símbolo definido por el programador (variables de cualquier tipo, función, manipuladores de archivo, etc). Si especificamos un espacio de nombres nulo (p. ej., $::var), es equivalente a referirnos explícitamente a $main::var.

Con el comando package cambiamos el espacio de nombres en el que estamos trabajando, como vemos a continuación.

$var = 'valor';

$Otro::var = 250;

print $var; # valor

package Otro;

print $var; # 250

print $main::var; # Siempre será valor

print $Otro::var; # Siempre será 250

print $::var; # Siempre será valor
Las variables léxicas (aquellas declaradas con my) no son afectadas por los paquetes.


next up previous contents
Next: Métodos para la inclusión Up: Sugerencias para el uso Previous: Sugerencias para el uso   Contents
Gunnar Wolf 2002-05-20