Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: oihantze en 22 Agosto 2009, 11:22 am



Título: PROBLEMAS CON EL system en PERL
Publicado por: oihantze en 22 Agosto 2009, 11:22 am
Hola,

he hecho un programa en perl desde el que voy a llamar a distintos programas.
para llamar a los programas lo que primero tengo que hacer es un cambio de directorio (cd) a donde se encuentran los programas.

el problemas esta en que pongo eta linea en el programa:

system("cd /home/oihana/workspace/HTMLDefinitivoa");

y me da este error:

Can't exec "cd": No existe el fichero ó directorio at ./ejecutando_estoy.pl line 64.


alguien sabe que es lo que pasa????????

gracias


Título: Re: PROBLEMAS CON EL system en PERL
Publicado por: Anibal784 en 22 Agosto 2009, 14:46 pm
mmmmm...  debe tener una función chdir, el cd de la llamada a system no funciona.
Código
  1. chdir("/home/oihana/workspace/HTMLDefinitivoa");
  2. `./ejecutable`;
  3.  


Título: Re: PROBLEMAS CON EL system en PERL
Publicado por: ^Tifa^ en 22 Agosto 2009, 16:49 pm
Que version de perl es esa? puesto que yo tengo la 5.10 y anteriormente la 5.8 y nunca tuve problemas con system y cd... pero, cada aplicacion en cada sistema es un mundo, ya vez.

Puesto que cd es un builtin de bash, si con chdir no te va podrias intentar ejecutar la cuestion asi:

`cd directorio`

Es un decir  :P


Título: Re: PROBLEMAS CON EL system en PERL
Publicado por: leogtz en 22 Agosto 2009, 20:06 pm
Efectivamente, perl posee un "chdir.
Código
  1. chdir('/etc') or die("No se pudo cambiar de ruta.\n");

Y si estás en Windows:
Código
  1. chdir('c:\Documents and settings\demas\ruta') or die("No se puro cambiar de ruta.\n");


Título: Re: PROBLEMAS CON EL system en PERL
Publicado por: oihantze en 24 Agosto 2009, 14:59 pm
muchas gracias, con el chdir me funciona perfectamente!


Título: Re: PROBLEMAS CON EL system en PERL
Publicado por: leogtz en 24 Agosto 2009, 17:57 pm
Por último, las cuestiones sobre Perl, van en la sección de Scripting.