Tengo un script Perl (foo.pl) que carga Foo.pm desde el mismo directorio utilizando el mecanismo requiere:¿Cómo puedo distribuir mi aplicación Perl como un único archivo?
require "./Foo.pm";
...
my $foo = new Foo::Bar;
El Foo.pm se adhiere al formato de módulo estándar:
package Foo::Bar;
...
1;
En lugar de distribuir mi aplicación como dos archivos (foo.pl y Foo.pm) me gustaría distribuir solo un archivo. Más específicamente, me gustaría hacer que Foo.pm sea parte del script foo.pl.
¿Cómo lo consigo?
El enfoque trivial de simplemente fusionar los dos archivos (cat foo.pl Foo.pm> foo2.pl) no funciona.
Hola wrang-wrang! Gracias por los consejos. Desafortunadamente, la creación de un archivo ejecutable no es una opción, ya que el mismo script se utilizará en múltiples plataformas. – knorv
knorv: si no incluye ningún módulo con un componente compilado XS/C, PAR puede crear archivos .par que sean multiplataforma. Esto NO es un ejecutable binario como con "pp -o foo.exe foo.pl". – tsee