Imagino que a los que trabajen con Java les resultará familiar este concepto, incluso el nombre que se utiliza es similar (JAR, Java Archiver), que se inspira obviamente en el archiconocido TAR.
En este artículo trataré de resumir las opciones más importantes de cara al uso de esta estupenda herramienta, que pasa por ser un tanto desconocida pese a que tiene sus orígenes por el año 2003.
Crear un fichero PAR
(a) El caso sencillo
Un fichero PAR está comprimido en un formato ZIP, por tanto podremos utilizar nuestra herramienta preferida que maneja este tipo de formatos (por ejemplo, el comando "zip" en Linux, o 7-zip en Windows). Imaginemos que deseamos crear el fichero "prueba.par", con un par de módulos de contenido
%> zip prueba.par Modulo1.pm Prueba/Modulo2.pm
Como vemos, podemos (y debemos) incluir las estructuras de directorios que estemos utilizando.
(b) Algo más habitual...
Aunque crear un fichero de esta forma es muy sencillo, en aquellos casos en los cuales tengamos un programa complejo que requiera localizar las dependencias de módulos que tiene, puede llegar a ser tedioso, sobre todo cuando además realizamos cambios en el programa que afectan a esas dependencias. Para estos casos disponemos de una utilidad, el PAR Packager (pp) que se encarga de realizar este tipo de tareas, y que obviamente sólo hay que tener instalado en el equipo de desarrollo, no en los usuarios del fichero PAR que construyamos.Imagina que partimos del "programa.pl" y que deseamos encontrar todas sus dependencias y empaquetarlas en un fichero PAR; simplemente hacemos:
%> pp -p -o programa.par programa.pl
Con "-o" especificamos el fichero PAR de salida que se genera, y "-p" indicamos que deseamos generar un fichero PAR. En este ejemplo, el fichero "programa.par" contiene por tanto, todas las dependencias que se han encontrado. Este fichero se puede utilizar así:
- Para visualizarlo, con nuestra herramienta ZIP favorita
- Para utilizar los recursos que contiene desde otro programa, como se mostrará más adelante
- Para ejecutarlo directamente, ya que el fichero PAR creado de la forma anterior ha incluido el fichero "programa.pl" dentro del mismo, si tenemos instalado el PAR Packager, podemos probarlo sin más que escribir:
- Si queremos distribuirlo a un equipo en el cual no tenemos PAR PAckager, pero sí PAR, podemos usar la opción "-P" cuando lo creamos
parl programa.par
%> pp -P -o programa_empaquetado.pl programa.pl
%> perl programa_empaquetado.pl
Siguiendo con los ejemplos anteriores, podemos hacer esto:
pp -o programa programa.pl # en Linux
pp -o programa.exe programa.pl # en Windows
Usar un fichero PAR
Una ver que disponemos del fichero PAR con un conjunto de módulos, si lo queremos emplear desde nuestro programa, debemos tener instalado en nuestro sistema el módulo PAR, que lo podemos realizar a través del CPAN, como otro módulo normal.En nuestro programa debemos hacer entonces (siguiendo con el ejemplo "prueba.par"):
use PAR "ejemplo.par";
use Prueba::Modulo2;
#...
Como vemos, todo lo necesario está en el fichero ".par", y si queremos ubicarlo en una ubicación específica lo podemos hacer sin más que especificarlo a la hora de utilizarlo:
use PAR "/la/ruta/del/fichero/par/ejemplo.par";
use Prueba::Modulo2;
#...
Referencias
Si deseas profundizar, te recomiendo una serie de lecturas:- Página principal PAR
- Tutorial PAR
- CPAN, PAR y pp.
¿Cuáles son tus experiencias en la distribución de tu código Perl?
No hay comentarios:
Publicar un comentario