Il faut lire le contenu de $0, qui contient la chaîne d'appel à ton programme.
Exemple :
/home/monscript.pl
=> $0 == /home/monscript.pl
monscript.pl
=> $0 == monscript.pl
Ensuite, plusieurs possibilités :
- $0 commence par un "/", et ton chemin est absolu. Pas de travail à faire.
- $0 ne commence pas par un "/" et le chemin est relatif. Deux possibilités :
1. Le script se trouve dans le répertoire courant ;
2. Le script se trouve quelque part dans le PATH.
Dans ce cas-là, tu dois commencer par tester si le fichier "$0" existe :
Si le test réussit, $0 est relatif au répertoire courant.
Si le test échoue, tu dois parcourir le contenu de ta variable PATH, accessible via le hash %ENV, jusqu'à trouver le nom de ton script.
Message édité par Elmoricq le 28-09-2005 à 11:38:19