Windows에서 저의 작은 Perl 스크립트는 누군가 다른 사람이 작성한 의존 라이브러리 C:/strawberry/perl/vendor/lib/Term/ReadPassword/Win32.pm
을 호출하려고했습니다. 괄호를 사용Perl Win32 :: Console error
Undefined subroutine &Win32::Console::STD_INPUT_HANDLE called at C:/strawberry/perl/vendor/lib/Term/ReadPassword/Win32.pm line 58, <STDIN> line 2.
합법적 인 How can I optionally use Win32::Console and its constants in a cross platform way?을 논의하고 내가 http://metacpan.org/pod/Win32::Console을 검토 한 결과로, 내 스크립트를 실행할 때 다음 오류가 나타났다
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());
...
: 여기
는C:/strawberry/perl/vendor/lib/Term/ReadPassword/Win32.pm
의 일부입니다 .
감사합니다.
아래의 cjm의 답변 외에도'use warnings; '을 반드시 확인하십시오. –
그래서 Win32 :: Console이 로딩되지 못하게하는 문제는 무엇 이었습니까? 어떻게 해결 했습니까? – cjm
@cjm 답변을 주셔서 감사합니다. 내 컴퓨터에 설치 한 딸기 펄이 Win32 :: Console을 올바르게 설치하지 않은 것 같습니다. ppm을 사용하여 재설치하면 문제가 해결되었습니다. – Zeiga