Perl 모듈 Module.pm을 사용하는 Perl 스크립트를 작성하고 있습니다.
Module.pm 그렇게 같다 :
package Module;
use strict;
use warnings;
sub getInfo {
my $self = shift;
#my $var = shift;
if (!$self)
{
my $errmsg = "My ERROR MESSAGE";
return [1, $errmsg];
}
return [1, $self];
}1;
그리고 난 그렇게처럼 호출 오전 :
use Module
my $result = Module::getInfo();
하지만 라인에서 (Module.pm에서) FATAL ERROR 정의되지 않은 객체를 점점 계속 #. 왜 그런가요?
getInfo() 서브 루틴의 첫 번째 주석을 제거하고 내 호출 행에 다른 인수를 추가하면 동일한 오류가 발생하지 않습니다. 왜? 서브 루틴을 호출하기 위해 인수로 Module 객체를 보낼 필요가 없다고 생각했습니다.
이것은 Perl 5.8.8을 사용하는 Linux 서버입니다.
'Module.pm은 script.pl 3 행에서 참 값을 반환하지 않습니다 .' - 감소 된 테스트 케이스를 구성 할 때 새로운 오류가 발생하지 않는다면 정말 도움이됩니다. – Quentin
미안하지만, 당신은 단지 1을 더할 필요가 없다. 모듈 끝까지? – Deepak
Module 상단의'package' 라인은 어떻습니까? – Quentin