Bonjour à tous,
Je suis en train d'adapter des scripts shell UNIX en scripts PERL sous windows.
Mon problème est le suivant :
On me fournit un fichier de configuration (déclaration de variables) qui était sourcé dans les scripts shells.
Les variables déclarées dedans peuvent être de la forme VAR2=$HOME/toto/titi
La présence d'une variable au sein même de la déclaration de VAR2 ne pose donc aucun souci.
Mes ennuis arrivent lorsque je veux utiliser ce même fichier de configuration dans mes scripts PERL sous windows. En effet, ne pouvant sourcer directement le fichier, je suis obligé de le parser.
Je me retrouve donc avec une variable PERL : $VAR2 = "$HOME/toto/titi"
En partant du principe que je me sois débrouillé à obtenir une variable PERL $HOME contenant la bonne valeur, connaissez-vous un moyen de demander à PERL de réinterpréter le contenu de $VAR2 afin d'y remplacer $HOME par sa valeur ?
Merci d'avance pour vos avis !
# Eval
Posté par peck (site web personnel) . Évalué à 3.
Attention, elle évalue une expression perl, donc cela veut dire que la personne qui peut écrire dans le fichier de configuration peut faire tout ce qu'il veut. Selon la situation, cela peut être une faille de sécurité.
Pour ne pas l'utiliser, il te faudra maintenir un tableau de hash des variables utilisables et appliquer des expressions régulières sur tes définitions.
[^] # Re: Eval
Posté par Maxime . Évalué à 1.
[^] # Re: Eval
Posté par sylvain cresto (site web personnel) . Évalué à 1.
my $HOME="/home";
my $test='$VAR2="$HOME/toto/titi"';
eval $test;
print $VAR2."\n";
Ce qui affiche: /home/toto/titi
[^] # Re: Eval
Posté par NeoX . Évalué à 1.
----------------------------
johann@5620-3024:~$ vi test.pl
johann@5620-3024:~$ ./test.pl
/home/toto/titi
----------------------------
maintenant il me semble qu'il veut, dans le script perl, recupéré des valeurs de l'environnement.
et là, google est notre ami
perl et variable environnement
nous renvoie entre autre sur :
http://lists.ze-linux.org/2003-06/msg00293.html
qui pose la meme question est optient une reponse
http://lists.ze-linux.org/2003-06/msg00294.html
[^] # Re: Eval
Posté par sylvain cresto (site web personnel) . Évalué à 1.
[^] # Re: Eval
Posté par Maxime . Évalué à 2.
Merci beaucoup pour votre aide !
# Config::General
Posté par bob6 . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.