it-swarm.cn

我应该在Windows上使用哪个版本的Perl?

win32.Perl.org web站点提供了对MS Windows的几个Perl发行版的引用。

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

恕我直言,Active Perl对Strawberry Perl的唯一优势在于它带有Perl Tk,这意味着它易于安装 Devel :: ptkdb 图形化调试器。除此之外,我认为Strawberry Perl具有所有优势。

96
szabgab

Strawberry Perl 越来越好了。我反复使用ActiveState的一个问题是我的模块有时无法安装,因为我需要升级到核心模块,但他们不会允许。因此,使用Windows的每个人都可以使用我的代码,但他们不能使用ActiveState的Perl。

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

如果ActiveState修复了他们的构建系统并且“没有升级到核心模块”策略,那么值得重新审视。

79
Ovid

没有单一最好的Perl发行版。 Vanilla Perl (可重定位,可再发行的Perl),它更适合开发人员 Strawberry Perl 具有巨大潜力。

但是,有一个很好的理由为什么 ActivePerl 非常受欢迎。优势主要在于最终用户易于部署(无需编译器使用其包管理器,PPM)。 ActiveState PDK(Perl开发工具包)也是打包完整Windows二进制文件的一种非常好的方法,它不需要在用户的计算机上安装任何Perl。

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

与大多数事情一样,您应根据最符合您需求的分布进行选择。

30
Darren Meyer

我主要使用ActivePerl,但我真的很喜欢Strawberry Perl的发展方向。我喜欢cpan Shell“正常工作”,我不必跳过一堆箍来安装XS模块。 (例如ExtUtils :: FakeConfig,虽然在最近的ActivePerl构建中不太必要。)我也对拇指驱动器上Perl的可能性感到兴奋。 Portable Perl 的dev版本已经非常有用了。

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

17
Michael Carman

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

13
Penfold

Strawberry Perl 更像是@nix上的Perl。它带有 MinGW 它本身可能很有用。 Perl模块也可以安装ppm或cpan。

6
Rob Kam

我到目前为止更喜欢Strawberry Perl。首先,它将gcc安装为mingwin的一部分,以便您可以直接从CPAN安装。

我使用ActiveState的Perl已经有一段时间了,但是从一台机器到另一台机器我都有很多不高兴的东西,尽管它们(看似)配置相同。他们的PPM模块包装也留下了不好的味道。这使得管理包变得简单,但是在CPAN更新之后你依赖它们来更新PPM。此外,PPM绝不是CPAN的全部内容;我最后一次使用ActivePerl时,很难找到我需要的所有模块,而那些模块通常都是旧版本。

4
gWaldo

ActiveState Perl已被认为是事实上的Windows Perl已有一段时间了。虽然它有很多缺陷,而且我们很多人都使用其他东西,但它仍然非常受欢迎。如果你要构建在Windows机器上执行的Perl代码(除了你自己的机器),我会考虑编写它以着眼于默认(或默认情况下我可以得到它)AS Perl安装执行它。其他任何事情,你正在为其他人试图在以后使用你的应用程序时引入障碍。

3
phreakre

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

3
reinierpost

我有草莓的主要问题,我觉得没有支持。 PerlMonks的好人无法帮助我,我放弃了。如果 这个页面 让你有一定的信心,那就是你的答案。

2
AmbroseChapel

我写的代码登陆财富500强企业,所以“企业”的感觉很有帮助。到目前为止,我已经使用过ActivePerl,它既适用于内部工具,也适用于分发给那些大客户。

2
aczarnowski

我正在使用Active State Perl 5.014,它运行正常。

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

1
Helen Craigman