bonjour comment pourrai je source un fichier a partir d'un script perl sous UNIx?
bonjour comment pourrai je source un fichier a partir d'un script perl sous UNIx?
Tu souhaites sourcer un ficher shell en perl ?
Il doit y avoir qq chose qui m'echappe car je ne vois pas a quoi cela peut servir , perl et shell n'etant pas les memes languages.
Souhaite tu 'inclure' un fichier perl dans un autre ? La directive require devrait t'aider :
Je crois que require est expliqué dans la FAQ Perl de developpez ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2require "monfichier.pl";
Si ce n'est pas ce que tu souhaites faire, alors pourrais tu expliquer un peu plus en detail ton probleme de 'sourcing' ?
sans doute que ouafaeinpt a un fichier qui assigne des variables d'environnement :
et qu'il veut évaluer ça dans son script perl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MY_APPLI_PATH=/app/gugus
Mais ça ne me parait pas très simple à réaliser. sans doute qu'il faut appeler le script, et récupérer chaque valeur séparément, ou alors écrire env dans un fichier après avoir exécuter le script, puis lire chaque valeur et l'attribuer dans @ENV
On peut stocker les vars dans une hashtable :
puis les utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 my $htParams = (); open ( FILEIN , "monfichier" ) or die("unable to read the file"); foreach my $line ( <FILEIN> ) { chomp($line); if ( $line ~= /(.*)\=(.*)/ ) { $htParams{$1}=$2; } } close( FILEIN );
devrait imprimer /app/gugus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 print $htParms{MY_APPLI_PATH}."\n";
PS : un moderateur aurait supprimé mon precendent post ?
Envoyé par vosaray
![]()
oui, bien sûr. mais cela ne marche pas si on a quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 BASE=/app APPL=$BASE/gugus
C'est sur, mais en modifiant la regexp on s'en sort tout de meme![]()
Partager