Current Perl documentation can be found at

Here is our local, out-dated (pre-5.6) version:

The easiest way to do this is to read a key in nonblocking mode with the Term::ReadKey module from CPAN, passing it an argument of -1 to indicate not to block:

    use Term::ReadKey;


    if (defined ($char = ReadKey(-1)) ) {
        # input was waiting and it was $char
    } else {
        # no input was waiting

    ReadMode('normal');                  # restore normal tty settings