我如何编译我的Perl脚本,以便可以在没有安装perl的系统上执行?

我有一个.pl文件,我想在任何系统中执行该文件,即使没有安装perl 。 我怎么能实现它?

有谁能让我知道一些很好的例子吗?

pp可以创build一个可执行文件,其中包括perl和脚本(以及任何模块依赖项),但是它只针对您的体系结构,所以不能在Windows和Linux上运行。

从它的文档:

要创build一个独立的可执行文件,适合在没有安装perl的机器上运行:

  % pp -o packed.exe source.pl # makes packed.exe # Now, deploy 'packed.exe' to target machine... $ packed.exe # run it 

(%和$在不同的机器上有命令提示符)。

  1. 安装PAR::Packer 。 * nix示例:

      sudo cpan -i PAR :: Packer 

    对于Windows的草莓Perl或安装的ActivePerl和MSVC:

      cpan -i PAR :: Packer 
  2. pp包装。 它将在Windows上创build一个名为“example”或“example.exe”的可执行文件。

      pp -o example example.pl 

这只适用于它所在的操作系统。

PS没有Perl就很难find一个Unix克隆。 你的意思是Windows?

看看PAR (Perl Archiving Toolkit)。

PAR是跨平台打包和部署工具,被称为Java JAR和Perl2EXE / PerlApp之间的交叉。

从perlfaq3的答案我怎样才能编译我的Perl程序到字节码或C? :


(由布莱恩福伊提供)

一般来说,你不能这样做。 有些东西可能适用于您的情况。 人们通常会问这个问题,因为他们想分发他们的作品,而不必提供源代码,而且大多数解决scheme都是为了方便而交换磁盘空间。 由于大多数解决scheme只是在最终产品中捆绑一个Perl解释器(但请参阅如何使我的Perl程序运行速度更快?),您可能不会看到很多速度增加。

Perl归档工具包(Perl Archive Toolkit, http://par.perl.org/ )是Perl对Java的JAR的模拟。 免费提供,并在CPAN上( http://search.cpan.org/dist/PAR/ )。

也有一些商业产品可以为你工作,虽然你必须为他们购买许可证。

ActiveState的Perl开发工具包( http://www.activestate.com/Products/Perl_Dev_Kit/ )可以“将Perl程序转换为适用于HP-UX,Linux,Solaris和Windows的可立即运行的可执行文件”。

Perl2Exe( http://www.indigostar.com/perl2exe.htm )是一个用于将perl脚本转换为可执行文件的命令行程序。 它针对Windows和Unix平台。

我们不要忘记ActiveState的PDK 。 它将允许您编译UI,命令行,Windows服务和安装程序。

我强烈推荐它,多年以来它的function非常好,但许可证的价格大约是300美元。

注意思南和布莱恩:perlfaq3仍然是错误的。

请参阅http://search.cpan.org/dist/BC/perlcompile.pod

Cava Packager在Windows生态系统上非常出色。

Perl文件是脚本,而不是可执行程序。 因此,他们“跑”,他们将需要一个翻译。

所以,你有两种select:1)让机器上的解释器运行脚本,或者2)让脚本运行在远程连接的networking(或Internet)机器上(即用浏览器)

在MaxOSX上可能有perlcc 。 键入man perlcc 。 在我的系统上(10.6.8)它在/ usr / bin中。 因人而异

参见http://search.cpan.org/~nwclark/perl-5.8.9/utils/perlcc.PL