Salut,
j'essais d'ecrire un script generique qui configure les variables d'environnement du script passé en argument.
Pour ce faire j'ai lu qu'en modifiant le hash special %ENV, c'etait possible, mais ca marche pas:
1° script: start.pl
Code :
- # script initialisant l'environnement
- ### modules ###
- use File::Spec;
- $cftexscript = "C:\\Documentations\\CFT\\INDUS_PERL";
- $ENV{'cftenvoi'} = "G:\\cft00\\envoi";
- # -------------------------------------------
- # Lancement de la ligne de commande
- # -------------------------------------------
- if (not defined $ARGV[0]){
- # Si pas d'arguments, on affiche les variables d'environnement
- while(($clef,$valeur) = each %ENV){
- print "$clef=$valeur \n";
- }
- }else{
- # sinon, on lance le script passé en argument
- my $nom_script = File::Spec->catfile("$cftexscript", "@ARGV" );
- exec "$nom_script";
|
2° script: test.pl
Code :
- #!/usr/bin/perl
- print "cftenvoi= $cftenvoi\n";
|
quand j'execute: start.pl test.pl
la variable $cftenvoi affichée par test.pl est vide, donc l'environnement n'est pas transmis
comment kifofaire plz ???
---------------
Les kiwis c'est bon! Mangez-en