Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
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? 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

Comment on Answer: How do I make password prompts not echo back the user?
Download Code
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 contemplating the Monastery: (6)
As of 2014-07-13 09:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (248 votes), past polls