如何在Perl脚本中在Windows控制台上请求密码?

如何在Perl脚本中在Windows控制台上请求密码?,windows,perl,passwords,windows-console,Windows,Perl,Passwords,Windows Console,我尝试了以下代码 use strict; use warnings; use Term::ReadPassword::Win32 qw(read_password); my $pw = read_password('pw: '); print "pw $pw\n"; my $x = <STDIN>; print "x: $x\n"; 使用严格; 使用警告; 使用术语::ReadPassword::Win32 qw(读取密码); 我的$pw=读取密码('pw:'); 打印“pw

我尝试了以下代码

use strict; 
use warnings;

use Term::ReadPassword::Win32 qw(read_password);

my $pw = read_password('pw: ');
print "pw $pw\n";
my $x = <STDIN>;
print "x: $x\n";
使用严格;
使用警告;
使用术语::ReadPassword::Win32 qw(读取密码);
我的$pw=读取密码('pw:');
打印“pw$pw\n”;
我的$x=;
打印“x:$x\n”;

它确实要求输入密码,并且不回显答案,但随后它跳过了后面的密码。我猜这是Term::ReadPassword::Win32中的一个错误,所以我想知道是否还有另一个模块在Windows上运行良好?

报告了相同的问题,并使用Term::ReadKey提供了另一个读取密码实现。基本问题是,可以通过重新打开STDIN和/或STDOUT来解决。

报告了相同的问题,并使用Term::ReadKey提供了另一种读取密码实现。根本问题在Win32::Console中,可以通过重新打开STDIN和/或STDOUT来解决。谢谢。@HP您应该将您的评论作为解决方案发布。