in reply to How can I get just one character from STDIN?
Another way is:
$buf = ' '; while($buf) { sysread STDIN, $buf, 1; print "$buf\n" # or whatever else you want # to do with it ;) }
I've tested this out on linux and it works fine. Any reason why it wouldnt work on other platforms?
Editor: The problem with this method is that the sysread will hang until the user presses the RETURN key (so if the user really only enters one character and it isn't RETURN, then the program will just "hang").
|
|---|