Both ActiveState and Strawberry Perl support module installation via PPM and cpan as standard. Strawberry Perl ships with a C compiler and build tools as part of the distribution. With ActiveState you need to install these via PPM (ppm MinGW).
I prefer Strawberry Perl for the reason that it has everything I need as standard, meaning I can use it on systems which don't have internet access. I keep it and a cpan archive (created with CPAN::Mini) on my phone which I can transfer via USB or wifi to target systems.