[caracas-pm] Problemas con ejecución de bash dentro de scripts perl

Luis Muñoz lem at cantv.net
Thu May 24 14:21:04 PDT 2007


On May 24, 2007, at 4:04 PM, Ernesto Hernandez-Novich wrote:

> Así es, porque 'cd' no es un comando sino una propiedad de cada  
> proceso.
> En el shell, 'cd' es un "builtin" que cambia de directorio. Debes usar
> la función chdir() de Perl. Y en todo caso, probablemente es más
> eficiente que hagas todo con Perl.

Además, cuando hagas "system(qq{cd /foo})" el cambio de directorio no  
es persistente (ie, el proceso que ejecutó la llamada *nunca* cambió  
de directorio). Puntos adicionales para quien explique por qué :-)  
Más puntos adicionales para el que explique este one-liner y su salida:

$ perl -e 'system("cd ..; pwd"); system("pwd")'
/Users
/Users/lem


Saludos.

-lem




More information about the caracas-pm mailing list