por explorer » 2010-11-24 07:17 @345
Es un programa para instalar módulos en un determinado directorio.
Las instrucciones dicen:
- usa perldigger.pl para localizar dónde está perl, tar, gzip, mysql, HOME, etc. Entonces, ajusta las variables $APP_PRIVATE_DIR y $TAR (y la primera línea de este script, si es necesario).
- sube por ftp los módulos Perl, por ejemplo, <módulo>.tar.gz, a $FTP_CPAN_MODULES_DIR, y luego ejecuta este programa
- En los programas Perl que usen estos módulos, añade
use lib qw($LOCAL_PERL_DIR/lib/perl5/5.8.8 $LOCAL_PERL_DIR/lib/perl5/site_perl/5.8.8 $LOCAL_PERL_DIR/lib/perl5/site_perl)
Bueno, se trata de un modo, un poco complejo, de subir e instalar módulos a un servidor de Internet en el cual no tengamos otras facilidades para instalar módulos Perl, o no tengamos un acceso completo al servidor. Cosa muy distinta a hacerlo en nuestra propia máquina, donde instalar los módulos es algo trivial, con la ayuda del comando cpan.
En cuanto al programa, primero intentará hacer un
chdir $FTP_CPAN_MODULES_DIR
$FTP_CPAN_MODULES_DIR vale "/app1_private/perl_mods". Es decir, es una ruta absoluta (comienza por '/', por lo que cuelga directamente del directorio raíz del sistema). Y aquí veo el primer problema, porque está en contradicción con un mensaje anterior, donde decías que la ruta es /home/Ainhoa/perlmvccgiapp/app1_private. ¿En qué quedamos? ¿Cuál es la correcta? En cualquier caso, si el directorio no existe y/o no puede entrar, morirá en el die().
Si, luego, opendir() falla, es que, quizás, el programa sí que ha conseguido entrar en el directorio , pero no ha podido leer el listado de ficheros que hay dentro. Tendrás que revisar los permisos de lectura y ejecución del directorio.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES