http://www.perlmonks.org?node_id=200811

peschkaj has asked for the wisdom of the Perl Monks concerning the following question:

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.