Cómo crear un nuevo módulo en Perl
En muy pocas palabras: Module::Starter.
Utilizarlo es tan sencillo como proceder a su instalación. Ó bien se utiliza el programa cpan para ello como en
# cpan -i Module::Starter
ó bien se utiliza algún repositorio Debian como el mío (pendiente).
Después procedemos a una mínima configuración del mismo, por comodidad más que nada, creando un archivo llamado config en $HOME/.module-starter, aunque puede cambiarse mediante la variable de entorno MODULE_STARTER_DIR.
En este archivo situamos aquellos valores que se repiten en todos nuestros módulos como pueden ser:
author: Víctor Moral
email: victor@taquiones.net
builder: Module::Build
El módulo incluye un programa ejecutable /usr/bin/module-starter que es el que vamos a invocar para crear nuestro nuevo módulo:
Nos situamos en el directorio base de nuestro nuevo proyecto
$ cd ~/sources
Creamos la estructura del módulo con
$ module-starter --module=IkiWiki::Plugin::syntax Created starter directories and files
y examinamos el resultado con un:
$ cd IkiWiki-Plugin-syntax/ $ ls -ltra -rw-rw-r-- 1 victor victor 441 2006-10-16 20:18 Build.PL -rw-rw-r-- 1 victor victor 121 2006-10-16 20:18 Changes drwxrwxr-x 3 victor victor 4096 2006-10-16 20:18 lib -rw-rw-r-- 1 victor victor 141 2006-10-16 20:18 MANIFEST -rw-rw-r-- 1 victor victor 919 2006-10-16 20:18 README drwxrwxr-x 2 victor victor 4096 2006-10-16 20:18 t
disponemos de un archivo de cambios (Changes), un manifiesto para el paquete (MANIFEST), un texto introductorio para el paquete (README) y un programa para mantenerlo (Build.PL).
Además, en el directorio lib tenemos el comienzo de nuestro nuevo fuente como IkiWiki/Plugin/syntax.pm, mientras que en el directorio de tests t nos encontramos con:
-rw-rw-r-- 1 victor victor 179 2006-10-16 20:18 00-load.t -rw-rw-r-- 1 victor victor 172 2006-10-16 20:18 pod-coverage.t -rw-rw-r-- 1 victor victor 140 2006-10-16 20:18 pod.t
que nos proporcionan pruebas para la carga del módulo (00-load.t), [[la cobertura de la documentación|perl/cpan/podcoverage]] y la documentación en sí (pod.t).
El repositorio
Este es un momento excelente para dar de alta el proyecto en un repositorio con control de versiones, como subversion, por lo que podemos hacer ahora lo siguiente:
El programa Build.PL
Este programa nos sirve como base
El paquete Debian
¿ Y si aprovechamos para crear un paquete para Debian ? Con las herramientas actuales es muy, pero que muy sencillo.