I've never had a "seamless" upgrade, but when I upgrade perl I rename it to its version. eg. perl560 and perl586. /usr/bin/perl is then a symlink to the latest version I have installed. The lib paths are different, so other than security module updates, typically you will only have to update the latest version's libraries. Legacy apps don't tend to need new libraries installed.