我正在开发一个与PAR捆绑在一起的大型Perl应用程序,以及一堆支持文件。
当应用程序在PAR中运行时,我可以使用PAR::read_file
来获取存档中的这些各种文件。但是,在我开发的过程中,我不希望每次调整代码时都要重新整理整个应用程序。
有没有办法可以判断脚本是否在PAR内运行,所以我可以选择从PAR存档或常规文件系统加载文件?
答案 0 :(得分:8)
PAR::Environment可能会提供一些线索:
PAR在可执行文件或PAR归档的构建过程以及它们的 use 期间使用各种环境变量。
...
PAR_0
如果正在运行的程序是从PAR存档或pp生成的可执行文件中运行的,则此变量包含提取的程序的名称(即.pl文件)。