[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