|go ahead... be a heretic|
Is it really necessary to install Cygwin ? That's an 'orrible step to have to take. Strawberry Perl manages to include CPAN (but no Cygwin), and I expect the same should be achievable with ActivePerl. Mind you, I don't use the CPAN module, so I can't speak with any authority re how to get it working. (I still download, extract, and manually run that lovely old mantra.)
I would also never advise anyone to use the free versions of the Microsoft Compilers with ActiveState perl for 2 reasons:
1) It requires multiple downloads from obscure and ever-changing locations;
2) It uses a different C runtime to ActivePerl - eg you'll never successfully build Win32::SharedFileOpen using the free MS compiler with ActivePerl because of that runtime discrepancy. (That is, however, the only example I have where the difference in runtime library is a problem.)
Instead, with ActivePerl, my advice would be to use the MinGW compiler (http://www.mingw.org/download.shtml), which does use the same C runtime, and dmake (http://search.cpan.org/dist/dmake/) - given that ActivePerl now (as of build 815, I think) works seamlessly with that compiler and make utility.
For older versions of ActivePerl one can still use the MinGW compiler and dmake seamlessly by first also installing ExtUtils::FakeConfig and then setting the environment variable perl5opt to -MConfig_m . Doing so gives excellent milage, and is my preferred modus operandii when using the MinGW compiler with ActivePerl.
Two things deter me from giving Strawberry Perl my whole hearted support:
1) It doesn't have a ppm utility;
2) The MinGW compiler they package doesn't include the g77 fortran compiler;
Both of those issues are fairly easily addressed - and when they are addressed (which will hopefully happen) it will see the end of long-winded rants like this from me. I'll simply be able to recommend Strawberry Perl and leave it at that.
I have one other observation regarding the StrawberryPerl v ActivePerl consideration:
If ActiveState were to decide to (optionally) include MinGW (including g77) and dmake, along with the CPAN bundle, then they would surpass the offering that Strawberry Perl currently provides. That's why I think it's important that Strawberry Perl offers a PPM utility, and includes the g77 fortran compiler. Then, if ActiveState does provide the option I've just mentioned, Strawberry Perl will at least be on an equal footing. And, of course, if ActiveState don't offer the option, then Strawberry Perl is clearly in the lead.
Anyway, ++ to you GrandFather for what you provided here :-)