http://qs321.pair.com?node_id=1097821

syphilis has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
I've installed current blead into ~/bleadperl.
There is no file named "perl" in ~/bleadperl/bin - instead it's called perl5.21.3, and I've been running scripts as 'perl5.21.3 script.pl', but that gets a bit tedious.
Also, when I inadvertently type 'perl script.pl' then the system perl gets invoked - and I certainly don't want to run *it*. So, I did this:
sisyphus-sis@debian-sis:~/comp/$ cd ~/bleadperl/bin sisyphus-sis@debian-sis:~/bleadperl/bin$ ln -s perl5.21.3 perl sisyphus-sis@debian-sis:~/bleadperl/bin$ cd ~ sisyphus-sis@debian-sis:~$ which perl /home/sisyphus-sis/bleadperl/bin/perl sisyphus-sis@debian-sis:~$ perl -le 'print $^X;' /usr/bin/perl sisyphus-sis@debian-sis:~$ echo $PATH /home/sisyphus-sis/bleadperl/bin:/usr/local/bin:/usr/bin:/bin:/usr/loc +al/games:/usr/games sisyphus-sis@debian-sis:~$ perl5.21.3 -le 'print $^X;' /home/sisyphus-sis/bleadperl/bin/perl5.21.3 sisyphus-sis@debian-sis:~$
I don't get it ... 'which perl' reports blead, but if I run 'perl' I still get the system perl. Why is that ?
I've also tried removing the 'perl' symlink in bleadperl/bin and, renaming 'perl5.21.3' to 'perl' - same thing happens:
sisyphus-sis@debian-sis:~/bleadperl/bin$ rm perl sisyphus-sis@debian-sis:~/bleadperl/bin$ which perl /usr/bin/perl sisyphus-sis@debian-sis:~/bleadperl/bin$ mv perl5.21.3 perl sisyphus-sis@debian-sis:~/bleadperl/bin$ which perl /home/sisyphus-sis/bleadperl/bin/perl sisyphus-sis@debian-sis:~/bleadperl/bin$ perl -le 'print $^X;' /usr/bin/perl
So now I've renamed ~/bleadperl/bin/perl back to ~/bleadperl/bin/perl5.21.3:
sisyphus-sis@debian-sis:~/bleadperl/bin$ mv perl perl5.21.3 sisyphus-sis@debian-sis:~/bleadperl/bin$ cd ~ sisyphus-sis@debian-sis:~$ which perl /usr/bin/perl sisyphus-sis@debian-sis:~$ perl5.21.3 -le 'print $^X' /home/sisyphus-sis/bleadperl/bin/perl5.21.3
and I guess I'll just have to continue calling it as 'perl5.21.3' until I can find a way to call it as 'perl'.

I've also checked that I don't have to call it precisely 'perl5.21.3' - eg I can call it 'perlzzz' and it's still runnable.
But I can't run it as 'perl'.

Cheers,
Rob