Reglas de Exportación

El módulo Exporter permite definir de manera precisa la interfaz externa de nuestro módulo. Para ello deberemos escribir el siguiente código en NuestroModulo.pm

package NuestroModulo;
use strict;
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);

use Exporter;

$VERSION = '1.00';
@ISA = qw(Exporter);

@EXPORT = qw(...); # Símbolos a exportar 
@EXPORT_OK = qw(...); # Símbolos a exportar a petición
%EXPORT_TAGS = (
  TAG1 => [...],
  TAG2 => [...],
  ...
);

######################
Nuestro código va aqui
######################

1;
En los ficheros desde los que queremos usar nuestro módulo deberemos escribir una de estas líneas:
use NuestroModulo;         # Importar los símbolos por defecto
use NuestroModulo qw(...); # Importar los símbolos listados
use NuestroModulo ();      # No importar símbolos
use NuestroModulo qw(:TAG1)# Importar el conjunto del tag

Cuando alguien escribe use NuestroModulo, ello implica un require "NuestroModulo.pm" seguido de una llamada a NuestroModulo->import() durante la compilación.

El método import, que es heredado del módulo EXPORTER usa un conjunto de variables en el paquete que gobiernan la conducta de exportación del módulo. Estas variables son:

Puesto que las variables @EXPORT, @EXPORT_OK y %EXPORT_TAGS son del paquete cuyo nombre casa con el del fichero5.1, es necesario declararlas con ours o bien utilizar el pragma use vars para satisfacer el uso de use strict sin que se produzcan mensajes de error.

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19