Usually I create an installation package of perl and the modules I use:
- For pure windows it's easy with the activestate zip version and ppm/ppd
- For Linux it's not much more difficult because there is nearly always a gcc installed; just some external libs sometimes cause problems
- just for solaris, this easy way often doesn't work because the compiler suite usually isn't available).
But I didn't really solve the problem with OS independend installations for the whole perl version with modules.
If I need to upgrade a module, a testsuite for my code helps me finding errors. I can't trust module authors not to change interfaces any more (recently happened to me in Readonly v1.01: Readonly \$scalar => 20 to v1.03: Readonly $scalar => 20, or Mail::Mailer, where the option 'test' was replaced with 'testfile')
The only time I had to change a CPAN module (needed to change the Makefile of DBD::SQLite from UTF8 to ANSI because of an old Tk version (8.04?) which couldn't handle UTF8 correctly) I additionally saved the whole perl installation within a version control system. Since the only target was windows, it worked well.
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v188.8.131.52.11.32"