Perl/Exporter

De Astillas.net
Módulo Exporter
Versión 5.8
Uso Desarrollo de librerías
Propósito Este módulo facilita la exportación de símbolos desde otro, bien a petición, bien obligatoriamente.


Ejemplos de uso

Para emplearlo en un módulo se debe declarar como integrado en el espacio de nombres del módulo y luego indicar qué elementos se exportan y cómo:

package MyPackage;
use strict;
use base 'Exporter';

our @EXPORT    = qw( func1 func2 );
our @EXPORT_OK = qw(func3);
our %EXPORT_TAGS = ( 'group2' => [ qw( func2 func3 ) ] );
    
sub func1 {
  # ...
}

sub func3 {
  # ...
}

1;

Las variables indican que:

  • @EXPORT contiene todo lo que se exporta automáticamente.
  • @EXPORT_OK indica aquello que se exportará si se pide explícitamente cuando se usa el módulo.
  • %EXPORT_TAGS contiene grupos de símbolos que se exportan al mismo tiempo. Para indicar que se quiere importar un grupo en lugar de un símbolo se debe prefijar con un carácter dos puntos (como en :group2).

Y se pueden usar de esta forma:

#!/usr/bin/perl

use MyPackage ( ':group2' );

func3( 'hello, world !' );