Frage Wie kann man verhindern, dass ein Perl-Programm sein Fenster schließt, wenn es fertig ist?


Wie kann ich verhindern, dass mein Perl-Programm das Fenster schließt, nachdem die Ausführung in Windows beendet wurde?

Ich kann ein Hello World-Programm ausführen, aber es schließt viel zu schnell für mich, um es tatsächlich zu lesen.

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

Scheint die einzige Lösung zu sein, die ich finden könnte, aber ich wette, es gibt einen besseren Weg, dies zu tun.


6
2018-04-09 20:54


Ursprung


Antworten:


Führen Sie Ihr Skript an der Windows-Eingabeaufforderung aus, anstatt auf ein Symbol im Explorer zu klicken. Wenn Sie Konsolenmodusprogramme ausführen, indem Sie auf ein Symbol klicken, öffnet Windows ein Fenster für das Programm, führt es aus und schließt dann das Fenster. Wenn Sie Konsolenmodusprogramme von einer Eingabeaufforderung ausführen, wird das Fenster nicht geschlossen:

C: \ test> perl hallo.pl
Hallo Welt

C: \ Test>

12
2018-04-09 20:55



print "Hello, world\n";
print "Press RETURN to continue ";
<STDIN>;

2
2018-04-10 00:24



Fügen Sie diese Zeile am Ende Ihres Programms hinzu:

system("pause");

Windows wird mit "Drücken Sie eine beliebige Taste, um fortzufahren..."


1
2018-05-15 16:06



Überprüfen Sie die vollständige Dateipositionszeichenfolge.

Ich hatte dieses Problem, aber es war nur für eine bestimmte Datei, also dachte ich, dass es etwas über diese Datei war. Ich hatte ein kaufmännisches Und-Zeichen in einem der übergeordneten Verzeichnisse, und der Padre-Client konnte die vollständige Dateizeichenfolge nicht interpretieren. Stellen Sie sicher, dass die vollständige Dateipositionszeichenfolge keine Leerzeichen oder nicht alphanumerische Zeichen enthält.

Nicht narrensicher, aber eine Falle, die es zu vermeiden gilt.


0
2018-05-21 21:55