Every now and then the issue of keeping a module work on older versions of Perl comes up.

The latest was the discussion on the tapx-dev mailing list (see the post of Schwern as a reference) about making sure Perl 5.4 can still run the latest version of Test::Harness (still called TAP::Parser) or Test::More?

I think it is not worth the effort to make sure any module, even modules in the tool chain are working on older versions of Perl. Of course if a module author feels this as fun, then by all means she should do it. But I don't think this should be any expectation from ourselves.

If someone wants (or has to) use an old version of Perl she will need to find out which is the latest version of Test::Harness or Test::More that still works on her version of Perl on her platform. That's all the story. We might actually help in locating the right version, but that's a different story.

Even before the results of the Perl Survey come out I already know there are companies still using Perl 4 in production code. (some of my clients) They made a choice. They weighted perceived risk with cost. I think every time companies make that "decision" the try to weight the costs and risks. Actually I think they see upgrade as both risk and cost while they usually neglect the risk and the cost of not upgrading nor do they value the benefits of upgrading.
Actually, IMHO they make a "non-decision". Just keep what is not broken...
(which translates to ... wait till it breaks and then panic.)

I am sure you know many of the costs module authors pay for keeping their module run on older versions of Perl. Just to name a few

The main point though is that the perl5porters worked hard to make all kinds of nice features available to us and then we stick to use a version more than 10 years old. More than that. When a newcomer to Perl looks at a central module or even at a module in core, they see that we are not using the "advanced" features. What message does that give?

Why would we expect from ourself to write code in an ancient language (5.004) just to satisfy those who are afraid of the change?

It's not that we force them to upgrade. If they want to keep using Perl 5.004 let them do that. They can locate the list of modules (and their version number) that work on that platform. They don't have to have the latest developments of every module. Heck, as they afraid of upgrading perl, they should be afraid of upgrading modules too.


In reply to The need and the price of running on old versions of Perl by szabgab

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.