OVH Cloud OVH Cloud

chemin relatif

6 réponses
Avatar
mickael
Bonjour,

Je voudrais savoir comment je peux ajouter des chemins relatifs aux .pm
de perl.
J'ai ce message d'erreur
Can't locate strict.pm in @INC (@INC contains:
/usr/local/lib/perl5/5.8.4/i686-linux /usr/local/lib/perl5/5.8.4
/usr/local/lib/perl5/site_perl/5.8.4/i686-linux
/usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl .)

et j'ai bien installer strict.pm qui se trouve dans le repertoire
/usr/lib/perl5, je voudrais rajouter ce r=E9pertoire dans mon chemin
d'acc=E8s par d=E9faut perl.
Merci.

6 réponses

Avatar
damien guerin
Il semble que tu n'utilises pas l'interpréteur perl qui faut. Tu dois
en avoir sur /usr et sur /usr/local. Dans ton cas tu dois utiliser
celui de /usr... Change le PATH pour utiliser l'interpréteur de /usr
ou bien installe le strict.pm dans /usr/local/lib/perl5 (normalement
strict.pm est présent d'office sur Perl!
Avatar
Paul Gaborit
À (at) 30 Jun 2005 01:30:21 -0700,
écrivait (wrote):
Je voudrais savoir comment je peux ajouter des chemins relatifs aux .pm
de perl.
J'ai ce message d'erreur
Can't locate strict.pm in @INC (@INC contains:
/usr/local/lib/perl5/5.8.4/i686-linux /usr/local/lib/perl5/5.8.4
/usr/local/lib/perl5/site_perl/5.8.4/i686-linux
/usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl .)


La valeur par défaut de @INC est définie lors de la compilation de perl. On ne
peut pas la changer.

Pour ajouter un chemin de recherche, il y a plusieurs solutions :

1 - utiliser l'option -I de perl (perldoc perlrun)

2 - ajouter un 'use lib ...' au début du script (perldoc lib)

et j'ai bien installer strict.pm qui se trouve dans le repertoire
/usr/lib/perl5, je voudrais rajouter ce répertoire dans mon chemin
d'accès par défaut perl.


Le module strict.pm est déjà présent dans la distribution perl (c'est le cas
de tous les modules dont le nom est en minuscules puisque ce sont des modules
internes de perl). La bonne question est « Pourquoi avez-vous besoin de
l'installer à la main ? ».

Je pense que votre distribution perl est mal installée...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
Jacques Caron
Salut,

On Thu, 30 Jun 2005 14:04:24 +0200, Paul Gaborit
wrote:

Pour ajouter un chemin de recherche, il y a plusieurs solutions :

1 - utiliser l'option -I de perl (perldoc perlrun)

2 - ajouter un 'use lib ...' au début du script (perldoc lib)


3 - Définir PERL5LIB dans l'environnement (perdoc perlrun)

Mais comme déjà dit par les autres, je ne pense clairement pas que le
problème vienne de là, "use strict" devrait marcher sans rien faire de
spécial...

Jacques.

Avatar
Jacques Caron
Salut,

On Thu, 30 Jun 2005 14:04:24 +0200, Paul Gaborit
wrote:

Pour ajouter un chemin de recherche, il y a plusieurs solutions :

1 - utiliser l'option -I de perl (perldoc perlrun)

2 - ajouter un 'use lib ...' au début du script (perldoc lib)


3 - Définir PERL5LIB dans l'environnement (perdoc perlrun)

Mais comme déjà dit par les autres, je ne pense clairement pas que le
problème vienne de là, "use strict" devrait marcher sans rien faire de
spécial...

Jacques.

Avatar
Paul Gaborit
On Thu, 30 Jun 2005 14:04:24 +0200, J'écrivais :
Pour ajouter un chemin de recherche, il y a plusieurs solutions :
1 - utiliser l'option -I de perl (perldoc perlrun)
2 - ajouter un 'use lib ...' au début du script (perldoc lib)



À (at) Thu, 30 Jun 2005 14:17:15 +0200,
"Jacques Caron" écrivait (wrote):
3 - Définir PERL5LIB dans l'environnement (perdoc perlrun)


Exact ! Et donc juste pour compléter votre complément :

4 - Définir PERLLIB dans l'environnement. Ce qui ne marche que si PERL5LIB
n'existe pas (perdoc perlrun) (*)

(*) c'est pratique si on utilise encore une vieille version (< 5.x) de perl en
même temps qu'une nouvelle.

;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>


Avatar
Jul
vient de nous annoncer :
Bonjour,

Je voudrais savoir comment je peux ajouter des chemins relatifs aux .pm
de perl.
J'ai ce message d'erreur
Can't locate strict.pm in @INC (@INC contains:
/usr/local/lib/perl5/5.8.4/i686-linux /usr/local/lib/perl5/5.8.4
/usr/local/lib/perl5/site_perl/5.8.4/i686-linux
/usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl .)

et j'ai bien installer strict.pm qui se trouve dans le repertoire
/usr/lib/perl5, je voudrais rajouter ce répertoire dans mon chemin
d'accès par défaut perl.
Merci.


use lib qw(/usr/lib/perl5);

C'est la commande que j'utilise pour inclure comme biliothèque un
répertoire perso de modules (ne pas mettre de ' ou " ni ne compter sur
des valeurs variables pour indiquer les chemins).
S'il existe plusieurs chemins, il faut les séparer d'un espace.


Julien

--
Jul... réapparru comme par enchantement