Well, the keyboard is usually read using <STDIN>
which is just another filehandle.
So say you have written a script that asks a few
questions like:
print "What is your name? ";
my $name = <STDIN>; chomp $name;
print "What is your quest? ";
my $quest = <STDIN>; chomp $quest;
print "What is your favorite color? ";
my $color = <STDIN>; chomp $color;
Now, if you want to test that out without actually
having to type it into the keyboard, you can make
a textfile like:
Anonymous Monk
I seek the Wisdom of the Monastery
Yellow...no, Blue! arghhhhhhhh!
Now, you can open that file in your program and
assign it a filehandle <FOO>, ahead of where the
questions are asked. Then, use a line like this:
*STDIN = *FOO; (also before where you
first start grabbing STDIN)
That allows you to alias STDIN to FOO and the file
will be read instead of the keyboard while you are
testing your program. When you're done testing,
just remove the open statement and the *STDIN = *FOO
line and you're all set.