Your theory breaks down about the time you have to compile a module. Many Windows machines do not have MSVC, or Cygwin, installed. In fact, short of developers, I would imagine that could be constrained to 'most'.
Far less likely is a Unix machine without a compiler. While it's unusual, in my experience, it's not unheard of.
Another flaw in that whole argument is deployment. I don't about ActiveStates latest versions (I'm running 5.005_03), but there's no pretty installer method that allows the IT 'droid to walk up to a machine, run an installer, and *poof*, the application with all the required pieces are installed. While Redhat has RPMs, and BSD has their thing (I don't know about it), Windows has Install Shield. However, Install Shield does not lend itself well to installing Perl applications, especially ones that require module compiliation.
In theory, I think you can compile the modules once on the developers machine, and distribute the .O files. I've never tried this, as I've never deployed a non-server based Perl application. But, nonetheless, deploying an application is a major pain in the rear-end.
What Perl needs is a friendly multi-platform installer (read: Linux, Windows, Mac). Some kind of facility for a integrated target compiler, or a way to optionally precompile the binaries for each platform, and install according to the platform being run on. What would would be really slick is a tiny Perl app that runs as an executable, that reads meta-instructions from the distribution file, and basically boot straps up to a full blown uninstalled version of Perl in the distribution file. This would allow a complete non-dependancy on any installed software on the target machine. I'm imagining something like PkUnZip or an RPM type package that has been generated for all platforms.
You could optionally reduce the distribution file size by making it a requirement that Perl and/or certain modules be already installed. But, with todays 'net bandwidth, and density of CDROMs, who cares if the distribution file is 600K or 600Mb, if you can do a bare-OS up install?
It's my contention that a mechanism like that would *really* make Perl take off, particularly on Windows and Mac OS machines.
(And I don't want to hear any "Windows is better than Linux/Linux is better than Windows" crap. Perl needs to transcend OS-centric views in life, and be truly cross-platform, not be an invoker of religeous wars.
--Chris
e-mail jcwren