Main Page |
Recipe 15.9 Checking for Waiting Input15.9.1 ProblemYou want to know whether keyboard input is waiting without actually reading it. 15.9.2 SolutionUse the CPAN module Term::ReadKey, and try to read a key in non-blocking mode by passing it an argument of -1: use Term::ReadKey; ReadMode ('cbreak'); if (defined ($char = ReadKey(-1)) ) { # input was waiting and it was $char } else { # no input was waiting } ReadMode ('normal'); # restore normal tty settings 15.9.3 DiscussionThe -1 parameter to ReadKey indicates a non-blocking read of a character. If no character is available, ReadKey returns undef. 15.9.4 See AlsoThe documentation for the Term::ReadKey module from CPAN; Recipe 15.6 |
Main Page |