En mi aplicación, puse todos los módulos en un directorio, llamémoslo libx
. Dado que depende del usuario elegir dónde desplegar la aplicación, no quiero codificar la ruta lib
.¿Por qué "usar lib" no tiene efecto de esta manera?
Por lo tanto, al comienzo de myapp.pl
, escribí las siguientes líneas de código.
#! /usr/bin/perl -w
use strict;
my $curr_dir = $0;
my $curr_lib = $curr_dir;
$curr_lib =~ s/myapp\.pl/libx/;
use $curr_lib ;
En lugar de obtener lo que esperaba, ¡tuve errores de compilación!
¿Qué pasa con mi código? No quiero codificar la ruta de acceso de la lib al usar use lib
, ¿cómo debo hacer esto?
En este momento se me olvidó mencionar que cuando se despliega la aplicación, myapp.pl
y libx
se encuentran en el mismo directorio.
Ayudaría si nos dijera exactamente cómo espera que su usuario inicie la aplicación. ¿Simplemente escribirán 'myapp?pl ', y les corresponde a ellos tener $ PATH configurado para que myapp.pl se pueda encontrar en cualquier directorio que lo hayan bloqueado? –