如何检测程序是否在PAR存档中运行?

时间:2009-11-21 02:02:13

标签: perl zip par

我正在开发一个与PAR捆绑在一起的大型Perl应用程序,以及一堆支持文件。

当应用程序在PAR中运行时,我可以使用PAR::read_file来获取存档中的这些各种文件。但是,在我开发的过程中,我不希望每次调整代码时都要重新整理整个应用程序。

有没有办法可以判断脚本是否在PAR内运行,所以我可以选择从PAR存档或常规文件系统加载文件?

1 个答案:

答案 0 :(得分:8)

PAR::Environment可能会提供一些线索:

  

PAR在可执行文件或PAR归档的构建过程以及它们的 use 期间使用各种环境变量。

...

  

PAR_0

     

如果正在运行的程序是从PAR存档或pp生成的可执行文件中运行的,则此变量包含提取的程序的名称(即.pl文件)。