Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Answer: How do I make password prompts not echo back the user?

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

Q&A > input and output > How do I make password prompts not echo back the user? - Answer contributed by Shendal

Use Term::Readkey. It is more portable than the unix-only solution of stty. Here's a quick example (untested):
use Term::ReadKey; print "Type your password:"; ReadMode('noecho'); # don't echo chomp(my $password = <STDIN>); ReadMode(0); # back to normal

Cheers,
Shendal

Replies are listed 'Best First'.
Re: Answer: How do I make password prompts not echo back the user?
by isotope (Chaplain) on Mar 02, 2001 at 22:08 UTC
    You might want to try something more like:
    use Term::ReadKey; ReadMode('noecho'); # don't echo print "Type your password:"; chomp(my $password = <STDIN>); ReadMode(0); # back to normal
    ...so you only print the password prompt when echo has already been disabled. This makes your program more compatible with things like Expect, which may not wait long enough after the prompt for the echo to be disabled before sending the password.

    --isotope
    http://www.skylab.org/~isotope/
Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (11)
As of 2016-08-25 20:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The best thing I ever won in a lottery was:















    Results (362 votes). Check out past polls.