Retourner aux forums || Retourner au forum Programmation.perl
Programmation.perl : mod_perl, require() et ~userdir
Posté par WildChild (page perso, ) le 23 mars 2006je cherche une solution à ce problème depuis quelques heures et je n'ai rien trouvé pour le moment. Lorsque l'on utilise require(), mod_perl regarde à l'intérieur de la liste des répertoires contenus dans la variable @INC. J'aimerais pouvoir séparer un script en plus petites parties (faire des modules .pm) mais je n'arrive pas à faire en sorte que require() regarde dans le répertoire du script. Lors de l'exécution du script, le répertoire courant est / et non celui du script. De plus, j'aimerais que require fonctionne à partir d'un UserDir ($HOME/public_html/cgi-bin). Quelqu'un a une idée sur comment je pourrais m'y prendre (je suis débutant avec Perl et j'ai un devoir à faire pour jeudi prochain ;))?
Merci
> Lire le message (3 commentaires, moyenne: 1,3).
use lib qw(/../../);
ajouter le chemin à prendre en compte avec
use lib qw(.....);
ex :
http://www.crium.univ-metz.fr/docs/devel/cleanperl/
-
[^]Re: use lib qw(/../../);
Posté par WildChild (page perso, ) le 24/03/2006 à 13:15. (lien). Évalué à 1.Le problème c'est qu'il ne faudrait pas qu'il y ait de chemin hard-codés dans mes scripts. Le correcteur ne veut pas à avoir à changer le code et il corrige sous Windows...
Extutils::MakeMaker
si tu veux pas te casser la tete , tu n'as qu'a faire un module qui s'installe PROPREMENT dans le corpus des modules perl.
pour se faire, il te faut utiliser le module fourni en standard : Extutils::Makemaker
il est tres bien et permet de créer les Makefile en fonction de ta distribution linux/bsd/windows/hpux/... et faire une installation propre.
comme cela ton script est d'un coté, et tes lib/modules sont dans un endroit ou un simple :
use Mon::Module;
permet de l'ajouter sans autre fioriture.
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.perl



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.