Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2951 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] chemin absolu/relati

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] chemin absolu/relati

n°1331042
nibbles1
Pour la gloire de NFT
Posté le 23-03-2006 à 14:11:26  profilanswer
 

Bonjour,
 
dans des scripts Perl, j'utilise des petites librairies maison.
 
Je souhaite mettre un chemin relatif (..\lib\) pour ne pas avoir à mettre la lettre du lecteur (réseau) car je lance le programme à distance (F:\) et je développe en local (O:\)
 
Le problème c'est que je dois appeler mon programme depuis le dossier où il est (via chdir).
 
Existe-t-il un moyen de laisser le chemin relatif et de lancer le programme sans le chdir ?


Message édité par nibbles1 le 23-03-2006 à 14:15:46
mood
Publicité
Posté le 23-03-2006 à 14:11:26  profilanswer
 

n°1331061
pospos
Posté le 23-03-2006 à 14:29:36  profilanswer
 

ben tu te met dans le repertoire dont tu veux qu'il soit la base pendant l'execution de ton script, et tu execute ton script avec son chemin relatif à ton repertoire
 
exemple:
 
disons que tu est dans C:
perl F:\bidule\machine\script.pl
 
le chemin courant pendant l'execution du script sera toujours C:


Message édité par pospos le 23-03-2006 à 14:29:58
n°1331064
nibbles1
Pour la gloire de NFT
Posté le 23-03-2006 à 14:31:54  profilanswer
 

Je sais pas si t'as bien compris ma demande :D
 
Je met où les librairies ?
Je met quel chemin dans le "use" ?
 
Merci :)

n°1331099
pospos
Posté le 23-03-2006 à 15:23:00  profilanswer
 

ben c'est pas d'une limpidité extreme...
 
dans tes use tu ne met aucun chemin
par contre au tout debut de ton script (et seulement de ton script) tu met un use lib avec le chemin (relatif ou absolu) vers tes lib :
 
use lib "./lib";
 

n°1331128
nibbles1
Pour la gloire de NFT
Posté le 23-03-2006 à 15:51:52  profilanswer
 

Ok :D
 
Imagine l'arborescence
f:\lib\lib.pm
f:\prog.pl
f:\test\toto.pl
 
prog.pl contient : use lib "./lib" ;
je le lance, ça marche bien :D
 
si toto.pl lance prog.pl (via qx ou system), il va chercher dans le repertoire courant au moment de l'appel (donc f:\test\) un dossier lib qu'il ne va jamais trouver.
 
je suis obliger de faire un chdir ".." ou "f:\"
 
On se comprend [:coch] ?

n°1331288
pospos
Posté le 23-03-2006 à 19:38:54  profilanswer
 

ok
 
dans ce cas tu peux utiliser Win32::Process (en standard avec activeperl) qui te permet de choisir le repertoir courant de l'appli que tu lance.

n°1331384
nibbles1
Pour la gloire de NFT
Posté le 23-03-2006 à 22:17:59  profilanswer
 

merci mais c'est ptet un peu chiant à utiliser
tant pis je ferai gaffe avec des chdir bien placés :D


---------------
JeanBeulz, chercheur coincheur

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] chemin absolu/relati

 

Sujets relatifs
[PERL] Shell et texte fixetableaux en perl
Probleme de chemin[Perl] instalation mod_perl sur Apache2
Empecher de visualiser un code source de script PERL[PERL] connaitre le type d'une variable
Problème d'appel à une servlet avec HREF et chemin relatifGestion automatique d'un jour particulier du mois en perl
[PERL] Problème avec tableaux / liste imbiquésPerl : lire un fichier UTF-8
Plus de sujets relatifs à : [Perl] chemin absolu/relati


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR