There was a time, not so long ago, when I asked myself, “Why would I use Strawberry Perl?”
After using a href=”http://www.activestate.com”>ActiveState’s distro for over a decade I had to ask that question again while personalizing a brand new company laptop for myself.
ActivePerl has never failed me all that time. In the early days we used to have to load Microsoft’s nmake to build a lot of modules because they weren’t yet available as ppm packages. But in the last few years that hasn’t been true because seemingly everything has been available as a ppm package.
Still, when setting up the new machine I decided to take another look and decided to give Strawberry Perl another shot.
This time around having perl on Windows behave as much like it does on Linux is much more important than it was years ago. Strawberry’s integration of the MinGW utilities for making modules that use C code is a big part of what makes this possible.
To keep things close to my existing Linux setup I downloaded the Windows 7 x86_64 package for perl version 5.14.3 (RHEL 6 currently has v5.10.1).
The installation was easy enough. By default all files go to “c:strawberryperl”, which really is a much better route for any software that originated on Unix than “c:program filesstrawberryperl”. With newer versions of the .msi installer you shouldn’t need to add anything to your environment %PATH%, as this is done for you (although the jury is still out on whether all the changes necessary to the Windows environment have been made).
Adding modules that aren’t part of the standard distro is done the same way as on Unix, with a:
perl -MCPAN -e "install 'Date::Calc'"
Things I don’t like about Strawberry Perl?
A mailing list shared with the bleeding edge (and maybe defunct) Vanilla Perl project for Win32.
Too many questions on various sites whose answer is “just install ActivePerl”, or “I haven’t installed Strawberry Perl in awhile…” (there is a clear excess of attitude among perl “experts”, something that is not at all useful — and is probably the single greatest obstacle to adoption).
The perldoc command doesn’t work (I’m pretty sure this is a Stupid Scripting Error [TM] by the development team, will update here when I’ve figured out what it is).
Still, even with those issues I’m going to stick with Strawberry Perl for awhile to see how things work out.