How to install into 5.6.2
Contrary to popular belief you can install almost all CPAN packages under 5.6.2.
First Step:
Set the urllist in your ./cpan/CPAN/MyConfig.pm
to http://cp5.6.2an.barnyard.co.uk/
and rm ./cpan/Metadata
and the 3 outdated
sources/authors/01mailrc.txt.gz sources/modules/02packages.details.txt.gz sources/modules/03modlist.data.gz
Then start installing.
There are a couple of authors who agressively used to boycott 5.6 in their dependencies (schwern, dagolden, kenwilliams, rsignes), but it is quite easy to fix this. So after a couple of refused installations do this:
cd .cpan/build
grep 'use ExtUtils::MakeMaker' */Makefile.PL
sed -i 's/use ExtUtils::MakeMaker 6.3[0-9];/use ExtUtils::MakeMaker;/' \
*/Makefile.PL
Module::Build can also be installed (0.34), DBI (1.604), Moose (0.40), DateTime (0.66) and many more.
If your CPAN Metadata fails to find the package this is because nobody submitted a PASS report for this package on 5.6.2 (I will not do, because I patched the packages) and so the dynamic cp5.6.2an.barnyard.co.uk does not offer it. Fall back to your default CPAN url and try again then.
For makefile writers: It is easy to allow older perls to install by checking the EUMM version at run-time. For META and LICENSE checks.
Enjoy the speed of an unbloated and fast perl5.6.2!
BTW: If you are concerned about the 5.6 vulnerability for CGI scripts on oCERT-2011-003 style DOS attacks apply this patch to 5.6.2: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2011-12/msg01082.html
p5p in the last years made such things possible: http://www.reddit.com/r/perl/comments/odt7m/perlisnowtheslowestprogramminglanguage/
Thanks for writing this up. If only the Perlformance guy would take the time to benchmark 5.6.
Can I ask you for some more detail? What kinds of performance differences are there between Perl 5.6 and Perl 5.8, and what are the origins of the differences?
Much of the non-support is simply because it's too old to test for. Most authors would accept non-intrusive patches to fix 5.6 support. A lot of it though is because of missing features (such as proper Unicode support, and many APIs). Hell I have modules that don't even support 5.10 (and that's not fixable, I'm afraid). Perl 5.6 is a niche, and quite frankly I think it's fair for most people not to care about it anymore. Is it really reasonable to ask people to support a 12 years old branch of perl?
That said, MakeMaker still supports perl 5.6 (though there is talk of scrapping that), so you shouldn't have such issues with it once you've upgraded it.
Leon: As I said, the fix is
sed -i 's/use ExtUtils::MakeMaker 6.3[0-9];/use ExtUtils::MakeMaker;/' \
*/Makefile.PL
Do not force a new ExtUtils::MakeMaker which Schwerns refuses to support on older perls, when an old ExtUtils::MakeMaker does the same job.
I have same problem on my 5.8.4 and 5.8.5 machines also, which costs me a couple of wasted hours to install CPAN modules.
Maybe I'll come up with a YAML recipe, but CPAN authors should not force such stupid restrictions on their modules. EUMM is needed to test and install the module. The missing LICENSE and META stuff is purely optional.
very nice. thank you.
Latest EU::MM should work on perl 5.6. If we look at cpantesters results for Linux, there is one PASS for 5.6.1 and no FAIL's and 4/1 for 5.6.2.