I always use Cygwin (xterms with bash are so much better than cmd windows) and the Perl that comes with it. I install Perl modules with the CPAN shell (the "cpan" command); it works fine.
I by far prefer Strawberry Perl. For one, it installs gcc as part of mingwin, so that you can install directly from CPAN.
I used ActiveState's perl for awhile, but I had a lot of flakiness from one machine to another despite them being (seemingly) identically configured. Their PPM module packaging left a bad taste, also. It makes it dead-simple to manage packages, but you rely on them to update PPM after CPAN updates. Also, PPM is not by any means the full content of the CPAN; The last time I'd used ActivePerl, I had a hard time finding all of the modules I needed, and the ones that were there were often an old version.
未来肯定是 Strawberry Perl。 无论您选择哪一个(这个问题并非 Windows 独有),如果您将最终结果分发到其他计算机,则必须小心您提供的安装程序/安装说明。
The future is definitely Strawberry Perl. Whichever you chose though (and this problem is not unique to Windows), if you're distributing the end result to other machines, you're going to have to be careful as regards the installer/installation instructions you provide.
Strawberry Perl is more like Perl on *nix. It comes with MinGW which could be useful on its own. The Perl modules can also be installed with either ppm or cpan.
I primarily use ActivePerl, but I really like where Strawberry Perl is headed. I love that the cpan shell "just works" and I don't have to jump through a bunch of hoops to install XS modules. (e.g. ExtUtils::FakeConfig, though that's less necessary in more recent ActivePerl builds.) I'm also excited about the possibility of Perl on a thumbdrive. The dev release of Portable Perl is pretty usable already.
I agree that the main advantage of ActivePerl is Tk out of the box, but note that as of 5.10 ActivePerl no longer ships with Tk by default. It ships with Tkx instead.
There is no single-best Perl distribution. Vanilla Perl (relocatable, redistributable Perl), and it's more-developer-friendly Strawberry Perl have significant potential.
However, there is a very good reason why ActivePerl is so very popular. The advantages mostly come in the form of ease of deployment for your end users (no compiler necessary to use their package manager, PPM). The ActiveState PDK (Perl Development Kit) is also a very nice way to pack a complete Windows binary that doesn't require any Perl to be installed on the user's machine.
Unfortunately, many very nice CPAN modules (like the Perl bindings for OpenSSL) are not available via ActiveState's repository.
Like most things, you should make your selection based on which distribution best meets your needs.
Strawberry Perl is just getting better and better. One problem I've repeatedly had with ActiveState is that my modules sometimes fail to install because I need an upgrade to a core module, but they won't allow that. Thus, everybody who doesn't use Windows can use my code, but they can't do that with ActiveState's Perl.
ActiveState also has a very dodgy build system which often fails to report exactly why a module failed to build. I got so tired of emailing and asking for this information that I eventually gave up. I want my code to run on Windows, but if ActiveState doesn't provide me with that information and doesn't give me any option for upgrading core modules, I just can't use it. Some of my modules have NO build failures on any operating system -- except those with ActiveState Perl. Support Strawberry Perl and just don't worry about ActiveState.
If ActiveState has fixed their build system and their 'no upgrade to core modules' policy, it's worth revisiting.
ActiveState Perl 长期以来一直被认为是事实上的 Windows Perl。 虽然它有很多缺陷,而且我们很多人都使用其他东西,但它仍然很受欢迎。 如果您正在构建要在 Windows 计算机(而不是您自己的计算机)上执行的 Perl 代码,我会考虑在编写它时着眼于默认(或我能得到的默认)AS Perl 安装执行它。 任何其他事情都会给其他稍后尝试使用您的应用程序的人带来进入障碍。
ActiveState Perl has been considered the de facto Windows Perl for quite a while. While it has a lot of flaws and a lot of us use something else, it remains very popular. If you were building Perl code to be executed on a Windows machine (other than your own), I would consider writing it with an eye towards a default (or as default as I could get it) AS Perl installation executing it. Anything else and you are introducing barriers to entry for others trying to use your app later.
I had major problems with Strawberry, and I felt there was no support. The good people at PerlMonks couldn't help me, and I gave up. If this page leaves you with a certain lack of confidence, there's your answer.
The code I write lands in Fortune 500 companies so a "corporate" feeling is helpful. I've used ActivePerl so far, and it's worked fine for both internal tooling and for distribution to those large'ish customers.
发布评论
评论(11)
我总是使用 Cygwin(带有 bash 的 xterms 比 cmd windows 好得多)和它附带的 Perl。 我使用 CPAN shell(“cpan”命令)安装 Perl 模块; 效果很好。
I always use Cygwin (xterms with bash are so much better than cmd windows) and the Perl that comes with it. I install Perl modules with the CPAN shell (the "cpan" command); it works fine.
到目前为止我更喜欢 Strawberry Perl。 其一,它安装 gcc 作为 mingwin 的一部分,以便您可以直接从 CPAN 安装。
我使用 ActiveState 的 perl 一段时间,但从一台机器到另一台机器之间有很多不稳定的情况,尽管它们(看起来)配置相同。 他们的 PPM 模块包装也给人留下了不好的印象。 它使管理包变得非常简单,但您依赖它们在 CPAN 更新后更新 PPM。 此外,PPM 绝不是 CPAN 的全部内容; 上次我使用 ActivePerl 时,我很难找到我需要的所有模块,而且那里的模块通常都是旧版本。
I by far prefer Strawberry Perl. For one, it installs gcc as part of mingwin, so that you can install directly from CPAN.
I used ActiveState's perl for awhile, but I had a lot of flakiness from one machine to another despite them being (seemingly) identically configured. Their PPM module packaging left a bad taste, also. It makes it dead-simple to manage packages, but you rely on them to update PPM after CPAN updates. Also, PPM is not by any means the full content of the CPAN; The last time I'd used ActivePerl, I had a hard time finding all of the modules I needed, and the ones that were there were often an old version.
未来肯定是 Strawberry Perl。
无论您选择哪一个(这个问题并非 Windows 独有),如果您将最终结果分发到其他计算机,则必须小心您提供的安装程序/安装说明。
The future is definitely Strawberry Perl.
Whichever you chose though (and this problem is not unique to Windows), if you're distributing the end result to other machines, you're going to have to be careful as regards the installer/installation instructions you provide.
Strawberry Perl 更像 *nix 上的 Perl。 它附带 MinGW ,它本身就很有用。 Perl 模块也可以与 ppm 或 cpan 一起安装。
Strawberry Perl is more like Perl on *nix. It comes with MinGW which could be useful on its own. The Perl modules can also be installed with either ppm or cpan.
我主要使用 ActivePerl,但我真的很喜欢 Strawberry Perl 的发展方向。 我喜欢 cpan shell“正常工作”,而且我不需要跳过一堆麻烦来安装 XS 模块。 (例如 ExtUtils::FakeConfig,尽管这在最近的 ActivePerl 构建中不太必要。)我也对拇指驱动器上 Perl 的可能性感到兴奋。 Portable Perl 的开发版本已经非常有用了。
我同意 ActivePerl 的主要优点是开箱即用的 Tk,但请注意,从 5.10 开始,ActivePerl 默认情况下不再随 Tk 一起提供。 它是随 Tkx 一起提供的。
I primarily use ActivePerl, but I really like where Strawberry Perl is headed. I love that the cpan shell "just works" and I don't have to jump through a bunch of hoops to install XS modules. (e.g. ExtUtils::FakeConfig, though that's less necessary in more recent ActivePerl builds.) I'm also excited about the possibility of Perl on a thumbdrive. The dev release of Portable Perl is pretty usable already.
I agree that the main advantage of ActivePerl is Tk out of the box, but note that as of 5.10 ActivePerl no longer ships with Tk by default. It ships with Tkx instead.
不存在单一最好的 Perl 发行版。 Vanilla Perl(可重定位、可再分发 Perl),而且它对开发人员更加友好Strawberry Perl 具有巨大的潜力。
然而,ActivePerl 如此受欢迎是有充分理由的。 优点主要体现在易于最终用户部署(无需编译器即可使用其包管理器 PPM)。 ActiveState PDK(Perl 开发工具包)也是打包完整 Windows 二进制文件的一种非常好的方法,不需要在用户计算机上安装任何 Perl。
不幸的是,许多非常好的 CPAN 模块(例如 OpenSSL 的 Perl 绑定)无法通过 ActiveState 的存储库获得。
与大多数事情一样,您应该根据最能满足您需求的发行版进行选择。
There is no single-best Perl distribution. Vanilla Perl (relocatable, redistributable Perl), and it's more-developer-friendly Strawberry Perl have significant potential.
However, there is a very good reason why ActivePerl is so very popular. The advantages mostly come in the form of ease of deployment for your end users (no compiler necessary to use their package manager, PPM). The ActiveState PDK (Perl Development Kit) is also a very nice way to pack a complete Windows binary that doesn't require any Perl to be installed on the user's machine.
Unfortunately, many very nice CPAN modules (like the Perl bindings for OpenSSL) are not available via ActiveState's repository.
Like most things, you should make your selection based on which distribution best meets your needs.
Strawberry Perl 正在变得越来越好。 我在使用 ActiveState 时反复遇到的一个问题是,我的模块有时无法安装,因为我需要升级核心模块,但他们不允许这样做。 因此,每个不使用 Windows 的人都可以使用我的代码,但他们不能使用 ActiveState 的 Perl 来做到这一点。
ActiveState 还有一个非常狡猾的构建系统,它通常无法准确报告模块构建失败的原因。 我厌倦了通过电子邮件询问这些信息,最终放弃了。 我希望我的代码能够在 Windows 上运行,但是如果 ActiveState 没有向我提供该信息,并且没有为我提供任何升级核心模块的选项,我就无法使用它。 我的一些模块在任何操作系统上都没有构建失败——除了那些使用 ActiveState Perl 的模块。 支持 Strawberry Perl 并且不用担心 ActiveState。
如果 ActiveState 已经修复了他们的构建系统和“不升级核心模块”政策,那么就值得重新审视。
Strawberry Perl is just getting better and better. One problem I've repeatedly had with ActiveState is that my modules sometimes fail to install because I need an upgrade to a core module, but they won't allow that. Thus, everybody who doesn't use Windows can use my code, but they can't do that with ActiveState's Perl.
ActiveState also has a very dodgy build system which often fails to report exactly why a module failed to build. I got so tired of emailing and asking for this information that I eventually gave up. I want my code to run on Windows, but if ActiveState doesn't provide me with that information and doesn't give me any option for upgrading core modules, I just can't use it. Some of my modules have NO build failures on any operating system -- except those with ActiveState Perl. Support Strawberry Perl and just don't worry about ActiveState.
If ActiveState has fixed their build system and their 'no upgrade to core modules' policy, it's worth revisiting.
ActiveState Perl 长期以来一直被认为是事实上的 Windows Perl。 虽然它有很多缺陷,而且我们很多人都使用其他东西,但它仍然很受欢迎。 如果您正在构建要在 Windows 计算机(而不是您自己的计算机)上执行的 Perl 代码,我会考虑在编写它时着眼于默认(或我能得到的默认)AS Perl 安装执行它。 任何其他事情都会给其他稍后尝试使用您的应用程序的人带来进入障碍。
ActiveState Perl has been considered the de facto Windows Perl for quite a while. While it has a lot of flaws and a lot of us use something else, it remains very popular. If you were building Perl code to be executed on a Windows machine (other than your own), I would consider writing it with an eye towards a default (or as default as I could get it) AS Perl installation executing it. Anything else and you are introducing barriers to entry for others trying to use your app later.
我在草莓方面遇到了很大的问题,而且我觉得没有支持。 PerlMonks 的好人帮不了我,我就放弃了。 如果此页面让您缺乏信心,那么这就是您的答案。
I had major problems with Strawberry, and I felt there was no support. The good people at PerlMonks couldn't help me, and I gave up. If this page leaves you with a certain lack of confidence, there's your answer.
我编写的代码属于财富 500 强公司,因此“公司”感觉很有帮助。 到目前为止,我已经使用了 ActivePerl,它对于内部工具和向那些大客户的分发都工作得很好。
The code I write lands in Fortune 500 companies so a "corporate" feeling is helpful. I've used ActivePerl so far, and it's worked fine for both internal tooling and for distribution to those large'ish customers.
我正在使用 Active State Perl 5.014,它工作正常。
问题是,它没有最新版本的 Padre(IDE、调试环境)。
I am using Active State Perl 5.014, which works OK.
The problem is, it doesn't have the latest version of Padre (the IDE, debbugging environment).