
Envoyé par
djblind
Sa me dit qu'il me manque des modules...
ça peu venir de quoi?
Les modules ce sont les fichiers avec l'extension ".pm" (alors que le ".pl" c'est pour les programmes)

Envoyé par
djblind
J'ai un program perl, qui se lance bien quand je fais perl program.pl
Mais si je suis dans un autre répertoire, et que je fais:
perl /root/test/program.pl
Sa me dit qu'il me manque des modules...
Le programme recherche les modules en fonction du contenu de la variable @INC
Un simple "perl -V" te dira, entre plein d'autres choses, la valeur actuellement configurée pour ton environnement.
D'après le comportement que tu décris, je présume que
- les modules qu'il cherche sont dans le même répertoire que le programme
- la valeur "." fait partie des valeurs qui sont dans @INC
Sauf que ".", ça signifie "le répertoire où tu te trouves", pas "le répertoire où le programme se trouve". C'est pour ça que ça marche bien quand tu es dans le répertoire mais pas si tu lances le programme depuis un autre endroit.
Ce que tu peux faire:
perl -I/root/test /root/test/program.pl
L'ajout "-I/root/test" dit "ajoute la valeur /root/test dans INC, uniquement pour cette fois
Si tu veux que ce soit systématique, tu peux ajouter au début du programme. Mais ça marchera seulement tant que tu ne déplaces pas le programme sur une autre machine (ou si tu déplaces le programme et les modules à un autre endroit)!
Partager