Whenever the systems automatically start a Perl script, it uses the dristribution-maintained perl, whenever i start a script with my user account, it uses the perl installed in my home directory.
What's the purpose of that? For a script, there are four possibilities:
- It will only run with the "system" perl.
- It will only run with "your" perl.
- It will run with either perl.
- It won't run with any perl.
For the first two cases, using the 'env' trick is wrong - the path should be hardcoded. For the other two cases, the 'env' trick doesn't gain you anything.
So, why use it?
Note also that not every system has 'env', the systems that have it don't all have it in the same path, and that many 'env's cannot pass arguments. So, using the 'env' trick to make things more portable isn't very fruitful.