1

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

我们做了一些研究,发现 ReadKey/Readline 是一个替代方案。然而,这个包不是我们默认 Perl 安装的一部分。

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

4

2 回答 2

2

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

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

稍后,如果您必须恢复正常的终端输入回显,请编写以下内容:

ReadMode(0); 

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

于 2013-03-10T08:03:05.673 回答
1

可以在此处找到有关使用 ActivePerl 安装 CPAN 模块的说明:

如何将 CPAN 模块安装到 ActivePerl

可以在此处找到有关使用 Strawberry Perl 安装 CPAN 模块的说明:

草莓 Perl CPAN 指令

于 2013-03-10T09:39:55.343 回答