Une modification des variables d'environnement ne s'applique qu'au processus courant et aux processus fils.
C'est de l'héritage, grosso modo. Un fils hérite de ses parents, mais pas l'inverse (cas théorique
).
Schématiquement :
- shell courant
|--- un processus lambda
|--- un fils du processus lambda
|--- ton script PERL
|--- un fils du script PERL
|--- un autre fils du script PERL
|--- un fils d'un fils du script PERL
|--- une fille du script PERL, j'suis pas sexiste
|
Selon ce shéma, une modification des variables d'environnement dans ton script PERL ne profite qu'à ton script PERL lui-même, et à ses fils (et petits-fils, et arrière-petits-fils, etc.)
Par contre, le shell courant, le processus lambda et les fistons du processus lambda ne voient pas leurs variables d'environnement modifiées.