in reply to Wrapper on magic line

Checks if the environment (PATH etc.) is compatible with the Perl that is pointed to by the symbolic link.
What do you mean by an environment being compatible with a version of Perl?

How about the following situation: Keep your /app/perl/VERSION/ structure. Let /usr/bin/perl be a symbolic link to newest perl (for instance /app/perl/5.8.2/bin/perl). Developers use #!/usr/bin/perl by default. If you need a roll-back, change the first line to #!/app/perl/WHATEVER/bin/perl.

So, developers don't need to do anything if a new version of perl gets installed, unless a new version breaks their program. Then they only have to perform a one line fix for each program that breaks. I'm not sure you are looking for a way to automatically detect whether scripts will fail and then fallback, but that's something I wouldn't do myself.

Abigail