Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
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)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P305 - Perl - User Input
  [2382] Giving up on user input - keyboard timeout in Perl - (2009-08-28)
  [2876] Different perl examples - some corners I rarely explore - (2010-07-18)

Back to
Dripping taps, Java threads and the single thread model
Previous and next
Horse's mouth home
Forward to
Global Index to help you find resources
Some other Articles
Enjoying the summer weather
Past Delegate Offer - Summer Holiday / Weekend Break
If nothing, make it nothing.
Global Index to help you find resources
Keyboard reading in Perl - character by character not line by line
Dripping taps, Java threads and the single thread model
Tcl/Tk - why does the canvas widget use a display list?
MySQL server replication
Monitoring and Tuning your MySQL installation
A beautiful coastline
4759 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, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 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).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2023: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2213_Key ... -line.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb