2008-09-16 88 views
91

win32.perl.org网站提供了MS Windows的几个Perl发行版的参考。我应该在Windows上使用哪个版本的Perl?

很长一段时间我一直在使用的ActivePerl从 ActiveState但最近我切换到 Strawberry Perl

恕我直言活性Perl仍然超过草莓Perl的唯一好处是它自带Perl Tk,这意味着它易于安装 Devel::ptkdb图形调试器。除此之外,我认为Strawberry Perl具有所有优点。

+0

因为这篇文章,我开始重新包装草莓Perl与许多额外的模块,包括穆斯,舞者和帕德里。读者可能也想考虑这个:http://dwimperl.com/ – szabgab 2012-02-25 06:52:25

回答

76

Strawberry Perl正在变得越来越好。我一再使用ActiveState的一个问题是我的模块有时无法安装,因为我需要升级到核心模块,但他们不会允许这样做。因此,每个使用Windows的用户都可以使用我的代码,但他们不能使用ActiveState的Perl来完成。

ActiveState还有一个非常狡猾的构建系统,它经常无法准确报告模块未能构建的原因。我厌倦了发送电子邮件并询问我最终放弃的这些信息。我希望我的代码能够在Windows上运行,但是如果ActiveState不向我提供这些信息,并且不给我任何升级核心模块的选项,我就不能使用它。我的一些模块在任何操作系统上都没有构建失败 - 除了那些使用ActiveState Perl的构建失败。支持Strawberry Perl,不用担心ActiveState。

如果ActiveState修复了他们的构建系统和他们的'不升级到核心模块'策略,那么值得重新审视。

+8

可以从AS Perl 5.8.8 build 518(2007年1月发布)升级核心模块。他们还在2008年升级了他们的CPAN构建系统,但我不知道到底什么时候。 – 2009-05-08 10:42:17

+1

草莓Perl很棒。但是,如果您使用MSys Bash作为您的shell,那么[已知问题](https://rt.cpan.org/Public/Bug/Display.html?id=82837),诸如`cpan`之类的命令不会工作。 – 2013-01-21 13:59:52

17

我主要使用ActivePerl,但我真的很喜欢Strawberry Perl所处的位置。我喜欢cpan外壳“只是起作用”,我不必跳过一堆箍来安装XS模块。 (例如ExtUtils :: FakeConfig,尽管在最近的ActivePerl构建中这是不太必要的。)我也对Perl在ThumbDrive上的可能性感到兴奋。 Portable Perl的开发版已经相当实用。

我同意ActivePerl的主要优点是Tk开箱即用,但请注意,从5.10开始,ActivePerl默认不再附带Tk。它随附Tkx。

2

ActiveState Perl已被认为是事实上的Windows Perl很长一段时间。虽然它有很多缺陷,并且我们很多人都在使用别的东西,但它仍然非常受欢迎。如果您正在构建要在Windows机器上执行的Perl代码(除了您自己的代码),我会考虑在执行它时执行Perl的默认操作(或默认情况下)。除此之外,你正在为其他人试图在以后使用你的应用程序带来障碍。

+0

AFAIK,PAR pp可以很好地与草莓配合使用,这在分发您自己的应用程序方面具有很大的优势,因为IIUC您需要OEM许可证才能在使用DLL的情况下分发pp编译的应用程序。 – 2009-06-19 17:17:48

+2

@Sinan,您关于ActivePerl许可和PAR的声明不正确。请参阅许可证第4条。许可证还允许您重新分发程序包的一部分,作为通过封装诸如PAR,PerlApp或Perl2Exe等工具生成的应用程序的一部分。但是,本许可证不允许您(a)整体重新分发程序包,(b)使用其部件创建语言分布,或(c)使用您的应用程序将PerlScript,Perl for ISAPI或PerlEx组件重新分发。 http://www.activestate.com/activeperl/license/ – daotoad 2010-01-27 23:37:02

+0

@daotoad嗯......我可以发誓以前的版本不允许它,但我甚至不确定我是否记得正确。谢谢你的纠正。 – 2010-01-27 23:55:43

13

未来绝对是Strawberry Perl。 无论您选择哪种方式(而且这个问题并非Windows所独有),如果您要将最终结果分发给其他计算机,那么就您提供的安装程序/安装说明而言,您必须小心。

28

没有单一最好的Perl发行版。 Vanilla Perl(可重定位,可重新分配的Perl),并且它对开发更友好的Strawberry Perl具有很大的潜力。

但是,ActivePerl非常受欢迎。这些优势主要体现在最终用户易于部署的形式上(无需编译器即可使用其包管理器,PPM)。ActiveState PDK(Perl开发工具包)也是打包完整的Windows二进制文件的一种非常好的方式,它不需要在用户机器上安装任何Perl。

不幸的是,许多非常漂亮的CPAN模块(如OpenSSL的Perl绑定)不能通过ActiveState的存储库获得。

与大多数情况一样,您应该根据哪种分配方式最符合您的需求进行选择。

2

我有草莓的问题,我觉得没有支持。 PerlMonks的好人不能帮助我,我放弃了。如果this page让你有一定的信心,那么你的答案就是。

6

Strawberry Perl更像Perl上的* nix。它配备了MinGW,这可能对自己有用。 Perl模块也可以使用ppm或cpan进行安装。

3

我总是使用Cygwin(带有bash的xterms比cmd windows好得多)以及随附的Perl。我使用CPAN shell(“cpan”命令)安装Perl模块;它工作正常。

1

我写的代码是财富500强公司的代码,所以“企业”的感觉很有帮助。到目前为止,我已经使用过ActivePerl,并且对于内部工具和分发给那些大型客户来说工作得很好。

4

我远远喜欢Strawberry Perl。首先,它将gcc作为mingwin的一部分安装,以便可以从CPAN直接安装。

我使用ActiveState的perl一段时间,但是我有很多从一台机器到另一台机器,尽管他们(似乎)配置相同。他们的PPM模块包装也留下了不好的口味。它使管理软件包变得非常简单,但您可以依靠它们在CPAN更新后更新PPM。另外,PPM绝不是CPAN的全部内容;上次我使用ActivePerl时,我很难找到所需的所有模块,而那些模块通常是旧版本。

0

我使用Active State Perl 5.014,它工作正常。

问题是,它没有最新版本的Padre(IDE,debbugging环境)。

相关问题