Perhaps I am missing the boat on this, but to me the solution seems simple. perl 5.6 and 5.8 are different. They are incompatible. You cannot automatically migrate from one to the other in safe manner, period.
You can, however, quite trivially have both installed. perl 5.6 is /usr/bin/perl, /System/Library/Perl, and /Library/Perl. perl 5.8 can be /usr/bin/perl5.8, /System/Library/Perl5.8, and /Library/Perl5.8. Now, developers are guaranteed always to have the version they need (assuming for a 5.8-dependent app they insist it runs only on 10.whatever-has-5.8). I guess this leaves it unclear what to do when a user double-clicks on a .pl script, but for commercial apps, that isn't really an issue. What am I missing? Barry