人们还经常问“如何编译Perl?”而他们真正想要的是创建一个可以在机器上运行的可执行文件,即使它们没有安装Perl。
有几种解决方案,我知道:
> perl2exe的靛蓝星
这是商业的我从来没试过它的网站表示可以交叉编译Win32,Linux和Solaris。
> Perl Dev Kit从ActiveState。
这是商业的我几年前在Windows上使用它,它对我的需求很好。根据其网站,它适用于Windows,Mac OS X,Linux,Solaris,AIX和HP-UX。
> PAR或者PAR::Packer是免费和开源的。基于测试报告,它可以在Windows,Mac OS X,Linux,NetBSD和Solaris上工作,但理论上它也适用于其他UNIX系统。
最近我已经开始在Linux上使用PAR进行打包,并在Windows上使用它。
其他推荐的解决方案?
解决方法
除了问题中列出的三个工具之外,还有另外一个名叫Mark Dootson的
Cava Packager,他也是过去的
PAR。它仅在Windows下运行,具有不错的Wx GUI,与典型的三个竞争者的工作方式不同,它在源/ lib目录中组装所有Perl依赖关系,而不是创建包含所有内容的单个存档。有一个免费版本,但它不是开源。我没有使用这个,除了测试。
对于PAR,它真的是一个工具包。它附带一个打包工具,它执行独立可执行文件的依赖关系扫描和组装,但也可以用于生成和使用所谓的.par文件,类似于Java的JAR。它还附带了client和server,用于自动加载网络上的丢失包等。YAPC::EU在YAPC::EU 2008更详细的介绍。还有一个活动的邮件列表:par at perl dot org。