Perl PAR :: Packer的pp,par.pl,parl脚本之间有什么关系?

时间:2012-03-08 01:36:22

标签: perl par

我正在尝试学习PAR和PAR :: Packer。我知道PAR是一个允许从.par档案加载模块的模块。我不理解PAR :: Packer中的三个脚本pppar.plparl。 (注意:在此问题parl中包含parl.exe for windows)。

  1. par.pl到底应该是什么?它是一个perl脚本,它包含perl解释器(与开发机器上的相同)和PAR模块吗?
  2. 究竟是什么parl?它是一个包含与par.pl相同的二进制文件吗?
  3. 如果我没有弄错par.plparl是什么,为什么有人想要par.plparl似乎非常优越,因为它可以在没有预先存在的perl的情况下运行。
  4. parl是否可以安全地分发给没有perl的最终用户?例如,如果我要分发多个脚本,共享多个模块,我可以分发parl,脚本和模块的分区,以及简单的包装器脚本,以{{1}启动par'd脚本}}?
  5. parlparl都可以分别使用par.pl-b选项生成独立脚本/ exectubles。这是否意味着-B只是前端/包装?

1 个答案:

答案 0 :(得分:4)

  

par.pl到底应该是什么?它是一个perl脚本,它包含perl解释器(与开发机器上的相同)和PAR模块吗?

par.pl是一个perl脚本,它将核心,非核心模块和共享库嵌入为PAR对象。它还从指定的PAR对象生成等效的perl脚本。它还可以调用嵌入在PAR对象中的perl脚本。它还用于制作和操作PAR分布。它不是perl解释器,而是单独调用perl解释器。

  

parl究竟是什么?它是一个包含与par.pl相同的二进制文件吗?

parl是par.pl的二进制版本

  

如果我没有弄错par.pl和parl是什么,为什么有人想要par.pl? parl似乎非常优越,因为它可以在没有预先存在的perl的情况下运行。

虽然par.pl和parl提供的功能相同,但是par.pl需要perl解释器,而parl不需要它。

  

parl是否可以安全地分发给没有perl的最终用户呢?例如,如果我要分发多个脚本,共享多个模块,我可以分发parl,脚本和模块的分区,以及使用parl启动par'd脚本的简单包装脚本吗?

是。

  

parl和par.pl可以分别使用-b和-B选项生成独立脚本/ exectubles。这是否意味着pp只是一个前端/包装?

pp检测并打包依赖模块,而parl仅打包特定模块和脚本。