Should I choose ActivePerl or Strawberry Perl for Windows?

This question already has an answer here:

  • Which version of Perl should I use on Windows? [closed] 11 answers

  • After having used both for years, I'd say, for me at least, Activeperl is a much more convenient choice. The ppm-Installer included in Activeperl allows you to add alternative ppm repositories which will give you access to almost all useful perl modules available on CPAN - but prepared and tested for windows. This was for me, in the long run, a much better (and more robust) choice. Even for the windows version of the Apache http server, there is a precompiled mod_perl (2.0.4) ppm available which will (did for me) work out of the box with Activeperl 5. 12 .1 and Apache 2.2.15.

    I think I dropped Strawberry after trying to install DBI + DBD::mysql on Windows 7 (which is a no brainer in Activeperl, just click on the ppms and choose install).

    But maybe that's solved by now. And maybe one can choose the directory where Strawberry gets installed (I couldn't).

    BTW: for compiling your own Inline or XS stuff, just install the MinGW compiler by ppm (I didn't do that but it looks interesting).

    Regards

    rbo

    Addendum : after reading the comment below, I checked Strawberry Perl again and it's now possible to change installation directory, which is a denoted feature of the 5.12.0 release (which is the actual version). This would solve one important (imho) disadvantage of Strawberry Perl (compared to Activeperl).


    Strawberry Perl uses CPAN, which means that you are up to date as far as modules are concerned. When things are added to CPAN, you have immediate access to them. Strawberry Perl also comes with MinGW which means that Strawberry Perl can use quite a few XS modules directly from CPAN without any modification. The MinGW distribution comes with gcc , make , ld and other tools to help you build modules. I think Strawberry Perl also comes with a few modules that let you install PPMs (Perl Package Manager files).

    ActivePerl installs modules using its own format called PPM (Perl Package Manager). The official repository is hosted by ActiveState. You can find PPMs for most of the popular modules so you shouldn't have any trouble unless you are looking for an obscure or really new package (so bleeding-edge stuff won't work because PPM usually lags behind CPAN). Although easier to install than CPAN modules, PPMs are specifically created for Windows and so some CPAN modules will not work (because they do Unix-specific things).

    I have used both before and it seemed to work for most cases. But I lean towards Strawberry Perl because the environment is closer to Unix and so there are not many incompatibilities. On the other hand, ActivePerl is made for Windows and so it works with Windows very well.

    Another option is to install Cygwin and Perl that comes with Cygwin. I have done that before and it works reasonably well. You also get access to CPAN.

    Pick what you think works best for you.


    Amplifying just a tiny bit on Vivin Paliath's helpful answer:

    AcitveState / PPM pros: If there's a PPM for your version, it's going to work, and simply.

    ActiveState / PPM cons: There's not always a PPM, or at least not always an up-to-date one.

    Strawberry / CPAN pros: Your repository is CPAN, not a bunch of binaries maintained by third-parties. You have new modules the moment the author releases them, and you're using the build system that the author intended.

    Strawberry / CPAN cons: Not everything is guaranteed to build perfectly with the Windows tools.

    Strawberry / CPAN mitigating factor: The Strawberry devs try really, really hard to make sure that everything goes smoothly and that as much of CPAN as possible is available to you, and when modules are identified as trouble spots (difficult to build on Windows, but required for other popular modules/apps), they'll either work with the author to get the module fixed so that everyone can install it, or in exceptional cases, apply their own fixups and bundle the module with Strawberry or Strawberry Professional.

    My preference is with Strawberry. I appreciate what ActiveState is trying to do, but I think it's a bottleneck in the development process. They were necessary before the community got together and built Strawberry to bring Windows into the "first world" of the Perl ecosystem, but they're not necessary anymore.

    链接地址: http://www.djcxy.com/p/47200.html

    上一篇: 我如何安装模块? 草莓Perl的问题

    下一篇: 我应该选择Windows的ActivePerl还是Strawberry Perl?