note
autarch
<p>
My personal stance has usually been something like "I'll support two major versions most of the time, and three for a little while after a new release".
</p>
<p>
I do reserve the right to not support particularly old point releases of those major versions, however. In particular, Perl 5.6.0 had so many critical bugs that working around them was just impossible. I test with Perl 5.6.2, and I'd take patches for 5.6.1, but if you're still on 5.6.0 too bad for you.
</p>
<p>
Similarly, if you're using a particularly ancient 5.8 (say 5.8.0 or 5.8.1) and one of my modules triggers a known Unicode bug in those versions, too bad, since one of the main reason to upgrade to a more modern 5.8 is for Unicode bug fixes.
</p>
<p>
I expect to stop supporting 5.6 for my modules a year or two after 5.10 comes out, though I won't <em>intentionally</em> break them, I'll probably just stop testing with 5.6 at all.
</p>
<p>
Overall, I think that's a reasonable balance between using modern features and backwards compatibility. In my personal projects which aren't intended for release, I do tend to use the latest and greatest, even if that code might end up freely available (like the source for <a href="http://www.vegguide.org/">VegGuide.Org</a>).
</p>
639569
639569