<p>The <a href="http://win32.perl.org/" rel="noreferrer">win32.perl.org</a> web site provides references to several Perl distributions for MS Windows.</p>

<p>For a long time I have been using ActivePerl from 
<a href="http://www.activestate.com/" rel="noreferrer">ActiveState</a> but recently I switched to 
<a href="http://strawberryperl.com/" rel="noreferrer">Strawberry Perl</a>.</p>

<p>IMHO The only advantage that Active Perl still has over Strawberry Perl is the fact that it comes with Perl Tk which means its easy to install 
<a href="http://search.cpan.org/dist/Devel-ptkdb/" rel="noreferrer">Devel::ptkdb</a> the graphical debugger. Other than that, I think Strawberry Perl has all the advantages.</p>

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.