Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > perl > Cómo crear un nuevo módulo en Perl

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:

  1. Nos situamos en el directorio base de nuestro nuevo proyecto

    $ cd ~/sources
    
  2. Creamos la estructura del módulo con

    $ module-starter --module=IkiWiki::Plugin::syntax
    Created starter directories and files
    
  3. 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

PENDIENTE DE COMPLETAR

El paquete Debian

¿ Y si aprovechamos para crear un paquete para Debian ? Con las herramientas actuales es muy, pero que muy sencillo.