Documentation part looks very clear. Thanks.
Another example which appears in PerlFAQ #8 uses ReadKey with
its ReadLine, like this:
use Term::ReadKey;
ReadMode('noecho');
$password = ReadLine(0);
which is different from Term::ReadLine's "ReadLine". An earlier
example you cited from perlfunc.pod's crypt() entry does:
system "stty -echo";
print "Password: ";
chomp($word = <STDIN>);
print "\n";
system "stty echo";
In either case, I was worried about the interaction between the
Term::ReadLine backend implementation and "stty".
Actually, I just tried this myself:
#!/usr/bin/perl -w
use Term::ReadLine;
my $term = new Term::ReadLine 'foobar';
my ($user, $password);
while (!defined $user) {
$user = $term->readline("User: ");
}
system 'stty -echo';
while (!defined $password) {
$password = $term->readline("Password: ");
}
system 'stty echo';
print "You said <$user><$password>\n";
print "ReadLine backend used was ", $term->ReadLine, "\n";
In my case, the backend was "Term::ReadLine::Perl". A few
problems:
* After typing "junio <Enter>" to "User:", an extra newline is
left before "Password:" prompt;
* "Password:" prompt still echoed password "abc". There was no
extra newline before "You said <junio><abc>".
* In either case, typing <Enter> returns an empty string from
$term->readline() so the "while (!defined)" loop does not buy
us anything.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html