Какой именно сценарий вы представляете?
Что у вас есть двоичный файл "perl", который вы можете изменить с Perl 5.8 на 5.10?
Самое простое решение - это иметьваша линия shebang указывает на Perl для конкретной версии.
У этого подхода есть два варианта: у одной - программная ссылка, зависящая от версии, у другой - «текущая производственная версия Perl».
$ ln -s /usr/local/perl5.8/bin/perl /usr/local/bin/perl5.8
$ ln -s /usr/local/perl5.8/bin/perl /usr/local/bin/current/perl
$ cat my_script.pl
#!/usr/local/bin/perl5.8
# This script is REALLY hard coded to 5.8
...
$ cat my_script2.pl
#!/usr/local/bin/current/perl
# This script is hard coded to 5.8 for now,
# but can be easily switched to different Perl version as part of MASS migration when ready
...
Таким образом, ваш сценарий ВСЕГДА гарантированно использует Perl 5.8, даже если вы в конечном итоге обновитесь до 5.12, и двоичный файл "perl" начнет вызывать perl 5.12 до уровня PATH.
Этот подход ТАКЖЕ делаетобновление проще - просто измените программную ссылку, чтобы указать на новый бинарный файл Perl, если хотите.