Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Answer: How do you simulate the use of the keyboard ?

( #10933=categorized answer: print w/ replies, xml ) Need Help??

Q&A > input and output > How do you simulate the use of the keyboard ? contributed by httptech

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, 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.

Comment on Answer: How do you simulate the use of the keyboard ?
Select or Download Code
Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2016-05-30 07:45 GMT
Find Nodes?
    Voting Booth?