|
Keyboard reading in Perl - character by character not line by line
If I'm typing in my age in response to a prompt and I start with a "6" character, will you assume that I'm between 60 and 69 years old? You might ... but then I may backspace (having accidentally struck the "6" key and start with a slightly lower digit. But in my program, I do NOT want to have to write my own code to deal with user inputs / errors of this type, and that is why most programming languages read up to and including a new line (a "commit") after which they return just the "cooked" or cleaned up string to the user.
With Perl, "you can do anything" ... you may have heard that said before ... so it is possible to read character by character, using the underlying C language libraries "ioctl" and "fcntl". Which makes it operating system dependent. We have an example here ... and you'll find other examples of clever uses of Perl's IO on that page too, such as turning off echo for password entry, giving the user just a limited time to reply to a prompt, and checking whether or not an input is available before proceeding, rather than locking in a wait state for the keyboard. (written 2009-06-01 09:32:50)
Associated topics are indexed under P305 - Perl - User Input [2382] Giving up on user input - keyboard timeout in Perl - (2009-08-28)
Some other Articles
Enjoying the summer weatherPast Delegate Offer - Summer Holiday / Weekend BreakIf nothing, make it nothing.Global Index to help you find resourcesKeyboard reading in Perl - character by character not line by lineDripping taps, Java threads and the single thread modelTcl/Tk - why does the canvas widget use a display list?MySQL server replicationMonitoring and Tuning your MySQL installationA beautiful coastline
|
2670 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|