@INC에서 특정 경로를 영구적으로 설정하는 방법

@INC에서 특정 경로를 영구적으로 설정하는 방법

스크립트가 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 ".";

관련 정보