Windows上の小さなPerlスクリプトは、誰かによって書かれた依存ライブラリC:/strawberry/perl/vendor/lib/Term/ReadPassword/Win32.pm
を呼び出そうとしました。ここでPerl Win32 :: Console error
はC:/strawberry/perl/vendor/lib/Term/ReadPassword/Win32.pm
の一部です:
package Term::ReadPassword::Win32;
use strict;
if (IsWin32()) {
eval('use Win32');
eval('use Win32::Console');
eval('use Win32API::File');
} else {
eval('use Term::ReadPassword');
}
...
my $CONIN = new Win32::Console(Win32::Console::STD_INPUT_HANDLE());
my $CONOUT = new Win32::Console(Win32::Console::STD_ERROR_HANDLE());
...
私のスクリプトを実行しているときに次のエラーが現れた:How can I optionally use Win32::Console and its constants in a cross platform way?を議論し、私はhttp://metacpan.org/pod/Win32::Consoleを見上げてきたように括弧を使用して
Undefined subroutine &Win32::Console::STD_INPUT_HANDLE called at C:/strawberry/perl/vendor/lib/Term/ReadPassword/Win32.pm line 58, <STDIN> line 2.
は、合法的です。
ありがとうございました。
以下のcjmの回答に加えて、 'warnings;'を必ず使用してください。 –
Win32 :: Consoleの読み込みを妨げていた問題は何でしたか?どのように解決しましたか? – cjm
@cjm答えをありがとう。私のPCにインストールされたイチゴのPerlがWin32 :: Consoleを正しくインストールしなかったようです。 ppmを使用して再インストールすると修正されました。 – Zeiga