|Keep It Simple, Stupid|
Re: CPAN modules on old versions of perl? (Perl::Critic::Ancient anyone?)by grinder (Bishop)
|on Nov 28, 2006 at 18:01 UTC||Need Help??|
Asking authors to determine the minimum version of the perl interpreter required to run their program sounds like a lot of work, and therefore doomed to failure. You might coax a few authors into doing so by making it a measure of Kwalitee, but I can think of a better way.
Given all the Perl::Critic modules around, it might be a fun project for someone to write a Perl::Critic::Ancient, which warns about constructs that exists are available only in 5.8 or better, or only in 5.6 or better and so on. For instance, if you encounter our, the module would complain that it won't work on 5.005.
Another example: the constant module changed quite a bit over the years in what it would or would not allow, such as constant hash refs.
It might be nice to criticise code that doesn't work across a single maint version. For instance, there might be stuff that works in 5.8.8, but doesn't work prior to 5.8.4. (I have no idea if this is true, offhand).
The beauty of this approach is that, as a module, people would have a venue for reporting bugs, noting that such and such works in 5.8.7 but not in 5.8.6. Some people might even offer patches!
This also puts the burden on someone who needs to install, say, Plagger on 5.003_11 to go to the trouble of auditing themself what modules are required, and using this (on a modern installation) to find out what roadblocks stand in the way of success.
It also avoids wasted effort. What's the point of expending a non-trivial amount of effort to ensure that all my CPAN releases work on 5.002, when there's a fair chance that no-one will ever need it? I do not have the time.
On the other hand, if I received a cry for help from a lonely programmer who was battling to install one of my modules on 5.004, and gave me a report of what the offending lines were in the code, there's a better than middling chance that I just might go ahead and do it, because I would be happy to help this person out.
• another intruder with the mooring in the heart of the Perl