100

win32.perl.org网站提供了几个用于 MS Windows 的 Perl 发行版的参考

很长一段时间以来,我一直在使用 ActiveState中的 ActivePerl,但最近我改用了 Strawberry Perl

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

4

11 回答 11

81

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

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

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

于 2008-09-16T12:10:28.113 回答
30

没有单一的最佳 Perl 发行版。Vanilla Perl(可重定位、可再分发的 Perl)和它对开发人员更友好的Strawberry Perl具有巨大的潜力。

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

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

像大多数事情一样,您应该根据最能满足您需求的发行版进行选择。

于 2008-09-16T14:16:29.197 回答
17

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

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

于 2008-09-16T13:17:39.120 回答
13

未来肯定是草莓 Perl。无论您选择哪种(并且此问题并非 Windows 独有),如果您将最终结果分发到其他机器,则必须小心您提供的安装程序/安装说明。

于 2008-09-16T13:42:37.283 回答
6

Strawberry Perl更像是 *nix 上的 Perl。它带有MinGW,可以单独使用。Perl 模块也可以使用 ppm 或 cpan 安装。

于 2008-10-17T17:20:22.233 回答
4

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

于 2009-04-01T15:14:30.057 回答
4

到目前为止,我更喜欢草莓 Perl。一方面,它将 gcc 作为 mingwin 的一部分安装,因此您可以直接从 CPAN 安装。

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

于 2010-08-24T18:23:13.163 回答
3

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

于 2008-09-16T13:24:49.977 回答
2

我对草莓有很大的问题,我觉得没有支持。PerlMonks 的好人帮不了我,我放弃了。如果此页面让您缺乏信心,这就是您的答案。

于 2008-10-17T07:08:51.173 回答
1

我编写的代码是在财富 500 强公司中使用的,因此“公司”的感觉很有帮助。到目前为止,我一直在使用 ActivePerl,它对于内部工具和分发给那些大客户的工作都很好。

于 2009-06-23T19:19:09.660 回答
1

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

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

于 2012-02-25T02:02:42.460 回答