next up previous index
Siguiente: Utilización de paquetes y módulos desde Subir: Paquetes y módulos Anterior: CPAN   Índice de Materias

Creación de paquetes y módulos

Podemos crear un módulo con subrutinas o estructuras de datos que nos hayan sido especialmente útiles y que sigamos usando de forma repetida. En teoría basta con que creéis un archivo paquete.pm que contenga las siguientes líneas:

package paquete;

# todo lo que venga aquí es el contenido del módulo

1;

Ahora os muestro un ejemplo de paquete genérico que contiene dos módulos:

package paquete;

################### módulo mod1 ########################

$mod1::var1 = 'mod1::variable1';

sub mod1::subrutina1
{
	# código de subrutina 
}

# ...

################### módulo mod2 ########################

$mod2::var1 = 'mod2::variable1';

sub mod2::subrutina1
{
	# código de subrutina 
}

########################################################

1;  # convención para terminar un paquete

Para utilizar este módulo desde otro programa podríamos:

#!/usr/bin/perl -w 
# Ejemplo escrito por Bruno Contreras en Julio de 2005

use strict;
use paquete;  

print $mod1::var1;  # acceso a una variable del módulo mod1 de paquete

mod2::subrutina1(); # acceso a una subrutina del módulo mod2 de paquete

Al instalar el intérprete Perl viene incluido el programa h2xs que nos ayuda a crear paquetes siguiendo una plantilla genérica. Para crear el paquete ejemplo haríamos:
$ h2xs -Xn ejemplo .

Que a mi me devuelve:

Defaulting to backwards compatibility with perl 5.8.5
If you intend this module to be compatible with earlier perl versions, please
specify a minimum perl version with the -b option.

Writing ejemplo/lib/ejemplo.pm
Writing ejemplo/Makefile.PL
Writing ejemplo/README
Writing ejemplo/t/ejemplo.t
Writing ejemplo/Changes
Writing ejemplo/MANIFEST

El programa crea un subdirectorio con el nombre del paquete y coloca ahí una plantilla ya iniciada de ejemplo.pm donde deberemos ir añadiendo el código que deseemos. Además, el programa genera documentación que acompaña al paquete e instrucciones para compilarlo y finalmente instalarlo en tu sistema.

Si queréis contribuir con algún módulo a CPAN deberán ir en el formato generado por h2xs.


next up previous index
Siguiente: Utilización de paquetes y módulos desde Subir: Paquetes y módulos Anterior: CPAN   Índice de Materias
Bruno Contreras Moreira 2007-06-15