2011-04-09 14 views
6

¿Cómo puedo evitar que mi programa Perl cierre la ventana después de terminar la ejecución en Windows?¿Cómo detener un programa Perl al cerrar su ventana cuando termina?

Puedo ejecutar un programa Hola Mundo, pero se cierra demasiado rápido para que realmente lo lea.

print "Hello World\n"; 
while (1){sleep(1)} 

parece ser la única solución que pude encontrar, pero apuesto que hay una mejor manera de hacer esto.

+2

¿Cómo está ejecutando su programa? ¿No lo estás haciendo directamente desde una línea de comando? – ajwood

Respuesta

12

Ejecute su secuencia de comandos desde el símbolo del sistema de Windows, en lugar de hacer clic en un icono en el Explorador. Cuando ejecuta programas en el modo consola haciendo clic en un ícono, Windows abrirá una ventana para el programa, lo ejecutará y luego cerrará la ventana. Al ejecutar programas en modo de consola desde un símbolo del sistema, la ventana no se cierra:

 
C:\test> perl hello.pl 
Hello World 

C:\test> 
2
print "Hello, world\n"; 
print "Press RETURN to continue "; 
<STDIN>; 
1

Añadir esta línea al final de su programa:

system("pause"); 

Windows le pedirá con " Pulse cualquier tecla para continuar . . ."

0

Compruebe la cadena de ubicación del archivo completo.

Estaba teniendo este problema, pero era solo para un archivo específico, así que pensé que era algo sobre ese archivo. Tenía un ampersand en uno de los directorios principales y el cliente Padre no podía interpretar la cadena de archivo completa. Asegúrese de que la cadena de ubicación del archivo completo no tenga espacios ni caracteres alfanuméricos.

No a prueba de tontos, pero una trampa para evitar.

Cuestiones relacionadas