I am using Term::ReadLine to grab user input and return it, for now. However, I seem to find the need (on cygwin) to press "Enter" twice for a line to "take." Anyway, here is my code sample:
#!/usr/bin/perl
use Term::Cap;
use Term::ReadKey;
use Term::ReadLine;
ReadMode 4;
$term = new Term::ReadLine 'fakeTerminal';
$prompt = "input: ";
@fakeArray = ("The first", "The second", "The third", "The fourth");
for ($i = 0; $i < scalar(@fakeArray); $i++) {
print $i+1, ". \t", $fakeArray[$i], "\n";
}
while( defined ($_ = $term->readline($prompt))) {
if($_){
last if $_ =~ /^\s*quit/i;
print $_, "\n";
}
}
#$key = ReadKey(0);
#print "you typed $key\n";
ReadMode 0;
I also have a second question, will using ReadMode 4 with Term::ReadLine still prevent escape attempts using CTRL characters?
If you make something idiot-proof, eventually someone will make a better idiot.
I am that better idiot.