in reply to Select on STDIN or ALARM?! For Win32 doesn't work!
Term::ReadKey allows a non-blocking read from the terminal, though not STDIN if it's re-directed.
Examine what is said, not who speaks.