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/

6 Comments

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.

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.

Leave a comment

About Reini Urban

user-pic Working at cPanel on B::C (the perl-compiler), p2, types, parrot, B::Generate, cygwin perl and more guts (LLVM, jit, optimizations).