我试了下面的代码
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";
它确实要求input密码,并且不会回显答案,但是会跳过后面的<STDIN>。 我想这是Term :: ReadPassword :: Win32中的一个bug,所以我想知道是否有另一个模块在Windows上运行良好?
http://www.perlmonks.org/?node_id=886306报告相同的问题,并提供使用Term :: ReadKey的替代读取密码实现。 根本的问题是Win32 :: Console中的这个bug ,可以通过重新打开STDIN和/或STDOUT来解决。