我正在尝试学习PAR和PAR :: Packer。我知道PAR是一个允许从.par档案加载模块的模块。我不理解PAR :: Packer中的三个脚本pp
,par.pl
,parl
。 (注意:在此问题parl
中包含parl.exe
for windows)。
par.pl
到底应该是什么?它是一个perl脚本,它包含perl解释器(与开发机器上的相同)和PAR
模块吗?parl
?它是一个包含与par.pl相同的二进制文件吗? par.pl
和parl
是什么,为什么有人想要par.pl
? parl
似乎非常优越,因为它可以在没有预先存在的perl的情况下运行。parl
是否可以安全地分发给没有perl的最终用户?例如,如果我要分发多个脚本,共享多个模块,我可以分发parl
,脚本和模块的分区,以及简单的包装器脚本,以{{1}启动par'd脚本}}?parl
和parl
都可以分别使用par.pl
和-b
选项生成独立脚本/ exectubles。这是否意味着-B
只是前端/包装?答案 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仅打包特定模块和脚本。