如何将Perl脚本打包成在没有Perl的机器上运行?

如何将Perl脚本打包成在没有Perl的机器上运行?,perl,compilation,executable,distribution,Perl,Compilation,Executable,Distribution,人们还经常问“如何编译Perl?”而他们真正想要的是创建一个可以在机器上运行的可执行文件,即使他们没有安装Perl 据我所知,有几种解决方案: 靛蓝 它是商业性的。我从未试过。它的网站说它可以交叉编译Win32、Linux和Solaris 来自ActiveState。 它是商业性的。几年前我在Windows上使用了它,它很好地满足了我的需要。根据其网站,它可以在Windows、Mac OS X、Linux、Solaris、AIX和HP-UX上运行 或者更确切地说,这是免费和开源的。根据测试报告,

人们还经常问“如何编译Perl?”而他们真正想要的是创建一个可以在机器上运行的可执行文件,即使他们没有安装Perl

据我所知,有几种解决方案:

  • 靛蓝 它是商业性的。我从未试过。它的网站说它可以交叉编译Win32、Linux和Solaris
  • 来自ActiveState。 它是商业性的。几年前我在Windows上使用了它,它很好地满足了我的需要。根据其网站,它可以在Windows、Mac OS X、Linux、Solaris、AIX和HP-UX上运行
  • 或者更确切地说,这是免费和开源的。根据测试报告,它可以在Windows、Mac OS X、Linux、NetBSD和Solaris上工作,但理论上它也可以在其他UNIX系统上工作。 最近,我开始在Linux上使用PAR进行打包,也将在Windows上使用。
    其他推荐的解决方案?

    您可以使用大多数Perl发行版附带的
    perlcc
    工具。我还发现
    perl2exe
    和activestate的Perl开发工具包对于发布Perl应用程序都很有用。

    除了问题中列出的三个工具之外,还有一个叫做Mark Dootson的工具,他在过去也对Perl应用程序做出了贡献。它只在Windows下运行,有一个很好的Wx GUI,与典型的三个竞争者的工作方式不同,它将所有Perl依赖项组装到一个源/库目录中,而不是创建一个包含所有内容的归档文件。有一个免费版本,但它不是开源的。除了测试,我没用过这个

    至于PAR,它真的是一个工具箱。它带有一个包装工具,它可以独立地执行独立扫描的可执行文件,但它也可以用来生成和使用所谓的PAR文件,类比java的JAR。它还附带和用于通过网络自动加载丢失的软件包等。2008年的at将详细介绍这一点。
    还有一个活跃的邮件列表:Perl Doorg上的PAR。

    < P>我是Perl新手,我刚刚下载了CavaP打包机,这是我发现的唯一一个。我在WindowsXP上试用了ActiveState 5.10.1005和草莓Perl与PAR Packager。 pp只是挂起在中间流中,没有创建可执行文件


    Cava提供了迄今为止在Windows上创建exe的唯一解决方案。Thks.

    这个问题第一次提出已经有一段时间了,但目前可以为Windows、Linux和Mac OS X生成可执行的软件包。它不再只是Windows


    注:如我的名字所示,我隶属于Cava Packager。

    perlcc实际上不起作用,而且这种情况已经持续了很长时间。PAR是GO的方式。PerLCC大多不起作用(见PerLoc PerLCC),已经从Perl 5.10中删除,根据CavaPACK的答案和Cava网站,它现在也在Linux和OS X上运行。请告诉我如何使用PP为我工作的CavaPaulger草莓(4年后你的答案)。