在已编译的Perl脚本上指定-p选项

时间:2018-11-12 23:40:34

标签: perl executable

我正在Windows 10下使用Strawberry Perl。我有一个Perl脚本,总是使用-p选项调用。

我想使用 PAR :: Packer 中的 pp 程序将其编译为可执行文件。是否可以指定应使用 -p 选项执行?

在编译 pp 命令的命令上或在生成的可执行文件的命令行上运行都是可以的。

2 个答案:

答案 0 :(得分:3)

-p开关具有定义的行为,其文档显示equivalent code,因此只需编写程序即可开始使用。

LINE:
  while (<>) {
      ...             # your program goes here
  } continue {
      print or die "-p destination: $!\n";
  }

(如果在Perl 5.22或更高版本上,请考虑使用<<>>而不是<>。)

答案 1 :(得分:2)

我对`PAR :: Packer'知之甚少,但也许如果您给脚本加一行

#! windows/ignores/this -p
...

PAR::Packer在可执行文件中可能会尊重它。

如果没有,您可以始终*使用脚本将-p转换为常规脚本,如下所示:

perl -MO=Deparse -p myscript-p.pl > myscript-no-p.pl

*-除非您的脚本具有B::Deparse无法正确解析的异常结构