Thread Problem mit Term::ReadKey (9 answers)
Opened by Gast at 2006-05-09 11:42

Gast Gast
 2006-05-09 11:42
#65789 #65789
Hallo!

Ich möchte den Input von einem Keypad mit Hilfe von Term::ReadKey auslesen. Der Prozeß soll 5 Sekunden auf eine Eingabe warten und - falls bis dahin keine Eingabe erfolgt ist - eine andere Aktion ausführen. Im Moment sieht der Code so aus:

Code: (dl )
1
2
3
4
5
use Term::ReadKey;

open (my $keypad, '</dev/keypad') or die "couldn't open device /dev/keypad: $!"
my $result = ReadLine 5, $keypad;
close $keypad;


Das Problem ist, dass er bei dieser Version ewig wartet. Wenn aber auf dem Keypad eine Taste gedrückt wird, liest er den Input korrekt ein.
Wenn ich auf diese Weise Input von STDIN lese, beendet er wie erwartet nach 5 Sekunden. In der Doku von Term::ReadKey habe ich keinen Hinweis darauf gefunden, dass sich die ReadLine Funktion beim Lesen von woanders als STDIN anders verhält.

Wo kann der Fehler liegen?

View full thread Problem mit Term::ReadKey