testing new code on old perl

rjbs on 2006-07-03T00:39:05

When putting together a slide for YAPC, I felt a little guilty about showing Exporter.pm in a slightly uglier light than required, mostly by avoiding the use of "our." I wrote a little to do for myself, at the time, to see whether Sub::Exporter would even work on an our-less perl. This has been a pain.

I thought it would be pretty simple to install an older distribution of perl on one of my Parallels virtual machines, but 5.4.5 isn't compiling. I get some stupid Makefile error which I haven't yet investigated. ("No rule to make target " or something like that.) I installed 5.5.4, but Params::Util wouldn't work: it was built with a broken version of Module::Install that wouldn't work on pre-5.6. With that and another problem or two fixed, I got all a bunch of things installed, only to be reminded that "use warnings" is a 5.6-ism. I always forget that!

I'm not really excited about removing all my uses of warnings. It's just so convenient! I think that I may just say that 5.6.0 is as old as I'll go. After all, that's six years old. While I understand that some people are stuck on older perls, hopefully they're just maintaining, and not writing new code.

Even with this problem solved (by fiat), I'm still interested in getting a better testing environment set up. I'll probably talk to sachmet, who I'm told has a good set of scripts for building a menagerie of perls.


Perl Building/Testing

jbisbee on 2006-07-03T03:43:57

Ping me whenever you find out more. I'm interested in the PITA projet, but from the standpoint of upgrading perl. We're at 5.6.0 at work, and I'd like to put together two builds, our current and target, inside virtual machines to give us more of a piece of mind than upgrade and scramble to fix what breaks like we've done in the past.

Re: testing new code on old perl

kid51 on 2006-07-04T00:13:51

I don't think you have to feel too guilty about not getting it to work on pre-5.6 Perl. Of my CPAN modules, the only one where I've tried to make it pre-5.6-compatible is ExtUtils::ModuleMaker -- and there only because I took over maintenance from its original author. Places that are still running pre-5.6 are, IMHO, likely to be as skeptical about installing new CPAN modules as they are about upgrading Perl -- so they would be unlikely to install Sub::Exporter for production purposes in any event.

Let's just hope that such places permit their developers to install the latest Perl at least for development purposes. Those developers are your target audience.

5.6.1 is reasonable

jmason on 2006-07-05T11:18:18

we in SpamAssassin chose to move from 5.6.0 as our lowest-baseline, to 5.6.1 -- 5.6.0 has some messy UTF-8 bugs, whereas at least 5.6.1 seems mostly working.

5.005, now, that is pretty hard to support in 2006 ;)