• Publicidad

Cambiar archivo

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor explorer » 2007-08-27 10:24 @475

¿A qué error te refieres?

Si se trata de un error de sintaxis en el programa, ponlo aquí para que lo veamos.

Si lo que salta es el mensaje del die, es que system() ha devuelto un valor 0, por lo que eso puede significar que el programa que llamas ha funcionado bien. ¿No lo ha hecho?

En definitiva... que estaría bien ver el mensaje de error.

También puedes probar a llamarlo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
system ('C:\perl\bin\perl.exe', 'prepro.pl', 'PARAMS.in', 'FAST.template', "$i.in") == 0
        or die "No se pudo crear input para FAST: $!";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Lo que no sabemos es qué valor debe devolver system() desde el perl.exe que llamas para considerar que ha funcionado o no... en esta última línea he supuesto que si devuelve '0' es que sí ha funcionado bien.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor Merisue » 2007-08-27 11:05 @503

Lo que salta es el die y efectivamente crea el archivo como se supone que debería. El problema es que al saltar pues no sigue el bucle y no genera el resto de archivos que debería. El mensaje de error es el del die seguido de "at kk1.pl line 22"... kk1 es mi programilla y la línea 22 es la de system(). ¿Quizá debería quitar el die y poner un warning normal para saber si no ha funcionado? Así no pararía el programa...

Por cierto le he echado un vistazo al template que me has dicho y ¡sí parece mucho mejor! el problema es que necesito funcionar con el programa ya, así que quizá me lo mire más adelante con tiempo porque con lo cazurra que soy seguro que me cuesta un poco hacerlo, jejeje. ¡Muchas gracias y perdona de verdad tenerte aquí liado!
Merisue
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2007-08-24 20:13 @884

Notapor Merisue » 2007-08-27 11:22 @515

¡Yujuuuuuuu!

¡Le he quitado el or die y funciona! ¡Bien! ¡Muchísimas gracias por todo!

Con un poco de tiempo probaré el template como me has sugerido que seguro que está mucho mejor. ¡No sabes cuanto me has ayudado!

¡Gracias, gracias, gracias! :D :D :D
Merisue
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2007-08-24 20:13 @884

Notapor explorer » 2007-08-27 13:29 @603

Eso quiere decir que seguimos sin saber qué es lo que tiene que devolver prepro.pl.

Si devuelve un 0, puede que signifique éxito, así que deberías cambiar la línea por la última indicada por mí, donde se hace una comparación (== 0).

Si devuelve un valor positivo, debería valer la primera solución, pues entonces suponemos que si devuelve 0, es que ha ocurrido un fallo, y en ese momento se dispara el 'or' del 'die'.

Y como tercera opción... que no nos importe lo que devuelva prepro.pl. Entonces sí que sobraría el 'or die'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Merisue » 2007-08-27 17:47 @783

Pues sí, parece que tenía que devolver un 0. He añadido la línea que has puesto tú y ¡lo corre sin problema! ¡Gracias!
Merisue
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2007-08-24 20:13 @884

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados