如何提供(分发)Perl应用程序?

fre*_*kin 10 windows perl

我在Perl中编写了一个程序,现在我想把它发送给好友.我不希望他有任何打扰它的麻烦.

我如何制作一些他可以点击的包装并准备好所有的东西?

PS.我可以请他下载ActivePerl并事先安装它.

PPS.我不需要隐藏.pl来源.我需要自动下载和安装所有必需的CPAN模块.

另外,如果将来我需要将其扩展用于生产交付呢?这意味着,它不是接收方的伙伴,而是客户先生?

Joe*_*ger 14

我用pp得非常成功.它可以将Perl解释器打包并将所有模块一起用于可执行文件.

然后总会B::C提供一个perlcc实用工具,但我没有那么多运气.

  • PAR :: Packer很棒,可能是最简单的方法.使用加密过滤器,您甚至可以编码源代码.虽然最后如果有人想要他们仍然可以解码它并重用你的代码.但我不认为这是你关心的问题._might_导致一些问题的唯一问题是在构建PAR exe时不会包含某些库的DLL.但您可以手动包含它们. (4认同)
  • `pp`通常在没有任何perl的计算机上正常工作.虽然我已经看到了机器上已经存在与DLL冲突的各种问题(程序是从已经安装了5.10 perl的机器上运行的5.8 perl编译的等等).我也看到了上面提到的Crypto过滤器的许多问题 - 很多程序都有各种版本的`libeay.dll`,它经常导致编译程序失败. (2认同)
  • @Joel,我解决了这个问题.它只是我太聪明了,并且对我的程序进行了"模块化",起始行是`run(),除非调用者;`读完之后**brian d foy**的文章_如何脚本成为perlmonks上的module_然后评论我知道PAR定义了`caller`,所以现在这行看起来像`run(),除非调用者和调用者'PAR';`并且它有效!谢谢你上网! (2认同)

dao*_*oad 7

为了便于分发到Windows客户端,它很难击败PerlApp,Par :: Packer(又名pp)或Cava Packager.


Htb*_*baa 5

虽然我最喜欢乔尔的建议,但我想为你指出另一种解决方案.由于您似乎在瞄准Windows,因此您也可以使用Strawberry Perl的便携版本.安装所需的模块,添加脚本/应用程序,设置一个简单的批处理脚本,以便在便携式环境中启动它,然后进行设置.

与pp(PAR :: Packer)解决方案相比,最大的缺点是应用程序的大小将相当大,因为pp仅包含必要的内容.


Tim*_*Tim 4

您可能正在寻找 IndigoStar 的perl2exe

Perl2Exe 是一个命令行程序,用于将 Perl 脚本转换为可执行文件。这允许您在 Perl 中创建不需要 Perl 解释器的独立程序。您可以传送可执行文件,而无需传送 Perl 源代码。Perl2Exe 可以为 Windows 和 Unix 目标主机生成可执行文件。

当然,最简单的方法是您的客户可以运行 perl。

  • Nordendfur,只是因为我很好奇(不是想发火),perl2exe 能给你带来什么 pp 不花钱的东西? (2认同)