在Windows上使用Perl读取密码而不使用CPAN包

时间:2013-03-10 06:57:05

标签: perl passwords

我们有一个使用终端读取密码的Perl脚本。此脚本在Windows上不起作用,因为终端不可用。

我们做了一些研究,发现ReadKey / Readline是另一种选择。但是,此软件包不是我们默认的Perl安装的一部分。

有没有办法在不使用终端或ReadKey / Readline的情况下在Perl中读取密码?

2 个答案:

答案 0 :(得分:2)

如果您正在寻找一种获取密码而不在终端中回显的方法,请尝试以下方法:

use Term::ReadKey;
print "Enter password:";
ReadMode('noecho'); 
my $password = <STDIN>;
chomp($password);

稍后,如果你必须回到正常的终端输入回声,请写下:

ReadMode(0); 

此解决方案需要安装Term::ReadKey,它也适用于Windows。

答案 1 :(得分:1)

有关使用ActivePerl安装CPAN模块的说明,请访问:

How to install CPAN modules into ActivePerl

有关使用Strawberry Perl安装CPAN模块的说明,请访问:

Strawberry Perl CPAN instructions