2009-11-21 1 views
4

나는 수많은 지원 파일과 함께 PAR 번들로 묶인 커다란 Perl 응용 프로그램을 만들고 있습니다.프로그램이 PAR 아카이브 내에서 실행 중인지 어떻게 발견합니까?

응용 프로그램이 PAR에서 실행될 때 PAR::read_file을 사용하여 아카이브 내의 다양한 파일을 볼 수 있습니다. 그러나 개발하는 동안 일부 코드를 조정할 때마다 전체 응용 프로그램을 다시 작성하지 않아도됩니다.

스크립트가 PAR 내에서 실행되는지 또는 런타임에 실행되지 않는지를 알 수있는 방법이 있습니까? PAR 아카이브 또는 일반 파일 시스템에서 파일을로드하도록 선택할 수 있습니까?

답변

8

PAR::Environment 아마 몇 가지 단서를 제공 할 수 있습니다 :

PAR는 실행 파일 또는 PAR 아카이브와 사용 중의 구축 과정에서 모두 다양한 환경 변수를 사용합니다.

이 ...

실행중인 프로그램은 PAR 아카이브 또는 PP 생산 실행 내에서 실행되는 경우

PAR_0

,이 변수가 추출 된 프로그램의 이름을 포함합니다 (즉이 .pl 파일).

+2

감사합니다. '$ ENV {PAR_0}'이 (가) 트릭을 수행합니다! – friedo

+1

시안의 대답은 정확합니다. 그것을하는 공식적인 방법입니다. – tsee

+1

@tsee PAR과 pp에 대해 확인해 주셔서 대단히 감사드립니다. 사용하기 시작한 이후로 나에게 큰 도움이되었습니다. –