스크립트가 Perl 모듈을 찾을 수 없기 때문에 @INC에 경로를 설정하고 싶습니다. 요구 사항은 스크립트에 모듈 경로를 직접 포함할 수 없다는 것입니다. 그래서 @INC에 직접 모듈 경로를 추가하고 싶습니다. 내가 할 수 있는 방법이 있나요?
또한 ~/.bash_profile , ~/.bashrc 편집을 시도했습니다. 그러나 @INC에는 경로가 추가되지 않습니다.
답변1
여러 가지 방법이 있습니다:
- 다음과 같이 호출됨
perl -Ipath script.pl
- 다음과 같이 호출됨
PERL5OPT=path script.pl
- 전역 설정
export PERL5OPT=path
( 다른 스크립트에도 영향을 미침.profile
)PERL5OPT=path
.pam_environment
답변2
수정했지만 ~/.bashrc
아직 환경에 추가하지 않은 경우 이를 PATH
수행하는 가장 좋은 방법은 PERL5LIB
환경 변수를 사용하는 것입니다.
모든 셸 세션이 시작될 때마다 이 작업을 수행하려면 무슨 일이 있어도 다음 줄을 추가하고 ~/.bashrc
(셸이 bash라고 가정) 스크립트 소스를 가져오거나 새 셸 세션을 시작하세요.
export PERL5LIB=/path/to/module
이 스크립트 내에서만 이 작업을 수행하려면 shebang 뒤에 다음 줄을 추가하세요.
use lib '/path/to/module';
가능한 한 빨리 이 작업을 수행하려면 다음을 사용하여 스크립트를 실행하십시오.perl -I
perl -I /path/to/module script.pl
이 모든 메소드는 모듈이 포함된 디렉토리를 다음 위치에 추가합니다.@INC
답변3
나는 그 단순한 영혼을 발견했습니다.
푸시(@INC,/path) 또는 이동 취소(@INC,'/path)
두 번째 방법: 파일 자체에서 lib "/path"를 사용합니다.
답변4
예를 들어,calling.pl의 첫 번째 줄을 작성하세요.
use lib ".";