Exercises, examples and other material relating to training module P305. This module is presented on
Private Courses and
Specially Run Courses only
There's an old piece of code that I've used to demontstrate how (in Perl) you can prompt for a user input ... but then time out the input on an alarm ... http://www.wellho.net/mouth/2382_Giv ... -Perl.html [short article] |
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 ... ... http://www.wellho.net/mouth/2213_Key ... -line.html [short article] |
The private Perl course that I ran on Wednesday through Friday of last week was a little out of the ordinary as we were concentrating far more that usual ... http://www.wellho.net/mouth/2876_Dif ... plore.html [short article] |
#!/usr/bin/perl
# keyboard input
while (1) {
print "Please enter information: " if (-t STDIN);
$abc = ;
@chars = unpack("C" x ... http://www.wellho.net/resources/ex.php4?item=p305/keyin [code sample] |
#!/usr/bin/perl
# copy a file
$in = "postcodes";
$out = "pc.bak";
open (IN,$in);
open (OUT,">$out");
print OUT $buffer while
(read (IN,$buffer,65536)); http://www.wellho.net/resources/ex.php4?item=p305/pcr [code sample] |
#!/usr/bin/perl
use POSIX;
$| = 1;
print "please press keys (q to quit)\n";
$numfile = fileno(STDIN);
$keyboard = new POSIX::Termios ();
$keyboard -> ... http://www.wellho.net/resources/ex.php4?item=p305/fc2 [code sample] |
#!/usr/bin/perl
# data input
while ($abc = ) {
@chars = unpack("C" x length($abc),$abc);
print ++$line,": @chars\n";
}
__END__
... http://www.wellho.net/resources/ex.php4?item=p305/file_in [code sample] |
Reading data from STDIN and from files is plenty for many applications, but sometimes you'll need to read from the screen without echoing, process input even if the return key is not pressed, or check the keyboard to see if there's input available without pausing your program while the user responds.
This module is presented on
Private Courses and
Specially Run Courses only
Examples from our training material
| askpw | Using ioctls and POSIX to provide a password entry system |
| fc2 | Reacting to each keystroke rather than awaiting a new line |
| fi2 | Reporting maximum field per line count |
| file_in | Unpacking characters |
| kb2 | Giving the user a limited time to make an entry |
| kbcheck | select to check input availability |
| kbtest | If the user has started typing, wait for a whole line. Otherwise carry on |
| keyin | print out ASCII decimal equivalents of entries |
| pcr | Binary file copy |
Background information
Some modules are
available for download as a sample of our material or under an
Open Training Notes License for free download from
http://www.training-notes.co.uk.
Topics covered in this module
Review of reading from keyboard and file.
Checking to see if input is pending.
Using Fcntl via POSIX.
Turning echo off - password entry.
Reading from the keyboard without waiting for a new line.
More flexibility reading from a file.
Perl modules to give more input flexibility.
Complete learning
If you are looking for a complete course and not just a information on a single subject, visit our
Listing and schedule page.
Well House Consultants specialise in training courses in
Python,
Perl,
PHP, and
MySQL. We run
Private Courses throughout the UK (and beyond for longer courses), and
Public Courses at our training centre in Melksham, Wiltshire, England.
It's surprisingly cost effective to come on our public courses -
even if
you live in a different
country or continent to us.
We have a technical library of over 700 books on the subjects on which we teach.
These books are available for reference at our training centre. Also
available is the Opentalk
Forum for discussion of technical questions.