Ejecutables

Si se tienen guiones ejecutables que acompañan el módulo es conveniente hacerlo notar en Makefile.PL usando la opción EXE_FILES de WriteMakefile. El valor para esta clave es una referencia a un array de ficheros ejecutables. Por ejemplo:
   # Verify perl version.
    require 5.000;
    use ExtUtils::MakeMaker;
    my @scripts = qw(fontsampler pfb2pfa pfa2pfb);
    WriteMakefile
      (
       NAME      => 'PostScript::Font',
       ($[ >= 5.005) ?
       (AUTHOR   => 'Johan Vromans (jvromans@squirrel.nl)',
        ABSTRACT => 'Modules to get info from PostScript fonts') : (),
       VERSION   => "0.03",
       PREREQ_PM => { 'Getopt::Long' => 2.00, 'IO' => 0 },
       EXE_FILES => [ map { "script/$_" } @scripts ],
       # *.pm files will be picked up automatically from ./lib
     );
Veamos un ejemplo típico de su valor:
~/Lperl/src/threads/knapsack/Algorithm-Knap01DP$ grep '^INSTALLSCRIPT' Makefile
INSTALLSCRIPT = $(PERLPREFIX)/bin
~/Lperl/src/threads/knapsack/Algorithm-Knap01DP$ grep '^PERLPREFIX' Makefile
PERLPREFIX = $(PREFIX)
~/Lperl/src/threads/knapsack/Algorithm-Knap01DP$ grep '^PREFIX' Makefile
PREFIX = /usr

El método WriteMakefile sobreescribirá la cabecera del ejecutable, por ejemplo#!/usr/bin/perl, por el camino que lleva a la versión del compilador Perl que se usó para ejecutar Makefile.PL.

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19