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
.