Thread Ist es möglich, eine STDIN-Aufforderung unwirksam zu machen?
(7 answers)
Opened by Kuerbis at 2014-04-23 14:54
Mit dem Term::ReadKey-Modul kann man ungeblockt Tasten einlesen.
Die Eingabe eines Returns wie beim geblockten Lesen (von STDIN) kann man z.B. so simulieren: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #!/usr/bin/perl use warnings; use strict; use Term::ReadKey; ReadMode 4; warn "Warning message!"; print "Press ENTER"; while (1) { my $key = ReadKey(-1); unless(defined $key) {$key = "";} if ($key eq "\n") { last; } } ReadMode 0; Man hat dann aber anders als bei normalem Lesen von STDIN recht gute Kontrolle, ob es bei der Eingabe hängenbleiben oder unmittelbar weitergehen soll. (Ich benutze das z.B. in meinem Skript "shufflemp3-0.8.pl".) Ansonsten (etwas zu hoch für mich): http://www.perlmonks.org/?node_id=344201 Im Prinzip ist STDIN wohl nicht zum Schreiben gedacht. Daher kann man nur mit einigen Anstrengungen z.B. ein "\n" nachträglich hineinbringen. Last edited: 2014-04-23 17:45:36 +0200 (CEST) |