6

次のコードを試しました

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";

実際にパスワードを要求し、回答をエコーし​​ませんが、その後に続く<STDIN>をスキップします。これはTerm::ReadPassword :: Win32のバグだと思うので、Windowsでうまく機能する別のモジュールがあるのだろうか?

4

1 に答える 1

3

http://www.perlmonks.org/?node_id=886306は同じ問題を報告しており、Term::ReadKey を使用した別の読み取りパスワードの実装を提供しています。根本的な問題はWin32::Consoleのこのバグで、STDIN や STDOUT を再度開くことで回避できます。

于 2012-01-18T15:18:07.810 に答える