PROBLEMAS CON EL system en PERL

Iniciado por oihantze, 22 Agosto 2009, 11:22 AM

0 Miembros y 1 Visitante están viendo este tema.

oihantze

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

Anibal784

mmmmm...  debe tener una función chdir, el cd de la llamada a system no funciona.
Código (perl) [Seleccionar]

chdir("/home/oihana/workspace/HTMLDefinitivoa");
`./ejecutable`;

El que llega sin que lo llamen, se va sin que lo echen.

Citar
Vos no la votaste por eso la tenes adentro.
Lo fino no es lo tuyo, y a mi me chupa un huevo, soy argentino y no peronista, y eso es lo que realmente te molesta.

^Tifa^

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

leogtz

Efectivamente, perl posee un "chdir.
Código (perl) [Seleccionar]

chdir('/etc') or die("No se pudo cambiar de ruta.\n");


Y si estás en Windows:
Código (perl) [Seleccionar]

chdir('c:\Documents and settings\demas\ruta') or die("No se puro cambiar de ruta.\n");
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

oihantze

muchas gracias, con el chdir me funciona perfectamente!

leogtz

Por último, las cuestiones sobre Perl, van en la sección de Scripting.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com