2013-11-25 3 views
0

에 포함 된 파일을 참조하는 방법을 내가 함께 몇 가지 추가 파일이 매니페스트에 내가 '설치하기'를 실행하면 설치되어 포함되어있는 모듈을 만든 MyModule.pm펄 모듈 - 매니페스트

내 문제는 MyModule에서이를 참조하는 방법입니다.

my $mfile = "incfile1.txt'; # this fails , as does .//etc 

답변

1

파일이 설치된 위치에 따라 다릅니다.

항상 모듈의 .pm 파일을 기준으로 동일한 위치에 모듈을 설치하는 경우 모듈의 설치 디렉토리 만 결정하면됩니다. 이렇게하는 한 가지 방법은 포함 된 모듈의 경로 인 .pm 파일의 % INC 값을 읽고 해당 값을 파일 경로로 처리하는 것입니다.

모듈이 /usr/lib/perl5/5.18.0/MyModule에 설치되어 있고 다른 모듈이 같은 디렉토리에 설치되어있는 것처럼 보자. 이를 수행하는 한 가지 방법은 다음과 같습니다.

my $mypath = $INC{'MyModule/Work.pm'}; 
my $mypath =~ s/Work\.pm/OtherFile.txt/; 
open(my $fh, "<", $mypath);