I have the wonderful joy of having virtually the same issue at my company (using perl 5.005).
First, before you do anything, you have to justify why you want to upgrade. There are some reasons that are irrefutable. These are the "We want to use feature XYZ and it's only in version 5.x.x". Features like that would include:
- * Near-transparent handling of Unicode (5.8)
- * A threading model worth having (5.8)
- * Granular warnings (5.6)
- * A module from CPAN that only works on version 123
To this list you can add:
- the ability to use warnings without -w
- the ability to have our $var
- better handling of FOO->method;
(broken in 5.005, must type FOO->method(); )
Since legacy code is mostly likely to break with such a new verison of perl, it is important to upgrade in a graceful way. The best way to do this is to install perl 5.8 in its own directory (your home dir perhaps, or /usr/local/bin), install all the CPAN modules you need, and migrate over one perl app at a time, testing as you go. Eventually, every app can point to perl 5.8 if the effort is made to port it, and those apps that are not ported to perl 5.8 can happily stay the way they are.
Nothing is too wonderful to be true
-- Michael Faraday