If requirements don't dictate a version of Perl to target, what version do you target when writing code for reuse?

I usually target the last three stable releases, unless requirements point me in another direction. So currently the earliest I worry about for my modules is 5.8.5.

Put differently, what features are you willing to give up for backwards compatible code?

Unless the requirements force me to, I'm usually not willing to give up features. In most cases I've found it more effective to spend the effort to get the requirements changed rather than stop using features I find useful.

What features/code/modules that break compatibility do you most frequently encounter or have burned you the most, particularly when other, compatible methods would do just as well? (In your own coding or on CPAN)

I guess the one that causes me the most pain, since I can't use Test::Class without them, is the lack of attributes in earlier Perl's.

What workarounds or practices do you use to help with backwards compatibility?

Unless it's forced by the requirements - I don't :-)


In reply to Re: Writing for backwards compatibility by adrianh
in thread Writing for backwards compatibility by xdg

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.