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

David Moreno Garza damog at ciencias.unam.mx
Thu May 24 13:27:22 PDT 2007


Alexis Arnal wrote:
> system("tar xvzf foo.tgz");
> system('cd foo/CA');
> 
> y este es el error:
> Can't exec "cd": No existe el fichero o el directorio at certifoo.pl
> line 27, <S TDIN> line 1.
> 
> Aparentemente no se puede ejecutar un cambio de directorio con la
> función system, probé con las rutas relativas, absolutas, comillas
> dobles, simples, con la tilde para sustituir a system y nada

Aparte de lo que ya te comentan previamente siempre es mejor ejecutar
system() con los argumentos como lista, para así asegurar que el primer
elemento de la lista es tratado como comando y los demás, manejados
propiamente como argumentos.

@arr = qw(tar xzvf foo.tar.gz);
system(@args);

perldoc -f system

-- 
David Moreno Garza <damog at ciencias.unam.mx> | http://www.damog.net/
 <URL:http://www.georgedillon.com/web/html_email_is_evil.shtml>



More information about the caracas-pm mailing list