大家都知道Perl是一个厉害的脚本措辞,而且具有高等措辞(如C)的强大能力和灵巧性。Perl供应脚本措辞(如sed和awk)的所有功能,还具有它们所不具备的很多功能。 简而言之,Perl象C一样强大,象awk、sed等脚本描述措辞一样方便。
与所有脚本措辞一样,Perl不须要编译器和链接器来运行代码,你要做的只是写出程序并见告Perl来运行而已。
但是,当须要在没有perl的环境下(如嵌入式系统)想完成已完成编写perl程序的事情或者不想自己的perl程序被别人轻易阅读时,把perl程序编译成二进制可实行程序则是必须的一步。

把Perl脚本程序编成二进制可实行程序,目前通畅的方法有三种,windows环境利用perl2exe工具但需购买容许证,Linux环境下可以免费利用perlcc或者pp工具。
下面举例解释利用perlcc和pp编译一个perl脚本程序并实行的过程和问题:
1、 bootinfo.pl文件部分内容
bootinfo.pl脚本程序读入android手机系统勾引文件boot.img,然后输出该boot文件的基本信息
2、 ubuntu18.04环境下编译和实行bootinfo.pl
2.1 系统版本和perl版本信息
2.2 perlcc编译和二进制可实行文件bootinfo与共享库依赖关系
2.3 bootinfo实行结果:
2.4 pp编译和二进制可实行文件a.out与共享库依赖关系
2.5 a.out实行结果:
3、ubuntu16.04环境下拷贝实行程序
3.1 系统版本和perl版本信息
3.2拷贝的bootinfo程序与本机共享库依赖关系(perlcc编译的程序显示短缺libperl.so.5.26共享库)
3.3 实行bootinfo结果(短缺共享库实行失落败)
3.4拷贝的a.out程序与本机共享库依赖关系(pp编译)
3.5 实行a.out结果
3、 perlcc与pp工具大略比较
a) 都可以天生二进制可实行程序;
b) perlcc编译天生的程序依赖perl共享库,只能本机编译本机实行;
c) pp编译天生的程序包含perl所有模块,可以拷贝到其他linux机器实行。