je souhaite recuperer dans un script Perl une variable d'environnement. Je
creer ma variable dans un terminal :
export PINGPROCESS=1
J'obtient bien le resultat si je fais echo $PINGPROCESS.
Par contre dans mon script Perl j'obtient rien lorsque j'ecrit :
my $testenv=$ENV{PINGPROCESS};
print "\n***** $testenv ******\n";
IDEM si je fais
my $testenv = `echo $PINGPROCESS`;
print "\n***** $testenv ******\n";
Par contre, ca marche avec les autres variables du systeme $HOME, $PATH, ...
print "$ENV{HOME}" fonctionne tres bien.
Voila mon probleme, je pense est lié a la creation des variables qui sont
peut-etre propre au shell et pas calculé par Perl ???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Fri, 30 Jun 2006 11:18:13 +0200, "romario" écrivait (wrote):
je souhaite recuperer dans un script Perl une variable d'environnement. Je creer ma variable dans un terminal : export PINGPROCESS=1 J'obtient bien le resultat si je fais echo $PINGPROCESS.
my $testenv=$ENV{PINGPROCESS}; print "n***** $testenv ******n";
IDEM si je fais
my $testenv = `echo $PINGPROCESS`; print "n***** $testenv ******n";
Si vous lancez le script Perl depuis le shell dans lequel vous avez créé la variable d'environnement, ça devrait marcher...
En Perl, pour voir toutes les variables d'environnement, vous pouvez faire :
foreach my $env (keys %ENV) { print "$env=$ENV{$env}n"; }
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Fri, 30 Jun 2006 11:18:13 +0200,
"romario" <septhuit@hotmail.fr> écrivait (wrote):
je souhaite recuperer dans un script Perl une variable d'environnement. Je
creer ma variable dans un terminal :
export PINGPROCESS=1
J'obtient bien le resultat si je fais echo $PINGPROCESS.
my $testenv=$ENV{PINGPROCESS};
print "n***** $testenv ******n";
IDEM si je fais
my $testenv = `echo $PINGPROCESS`;
print "n***** $testenv ******n";
Si vous lancez le script Perl depuis le shell dans lequel vous avez
créé la variable d'environnement, ça devrait marcher...
En Perl, pour voir toutes les variables d'environnement, vous pouvez
faire :
foreach my $env (keys %ENV) {
print "$env=$ENV{$env}n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Fri, 30 Jun 2006 11:18:13 +0200, "romario" écrivait (wrote):
je souhaite recuperer dans un script Perl une variable d'environnement. Je creer ma variable dans un terminal : export PINGPROCESS=1 J'obtient bien le resultat si je fais echo $PINGPROCESS.
my $testenv=$ENV{PINGPROCESS}; print "n***** $testenv ******n";
IDEM si je fais
my $testenv = `echo $PINGPROCESS`; print "n***** $testenv ******n";
Si vous lancez le script Perl depuis le shell dans lequel vous avez créé la variable d'environnement, ça devrait marcher...
En Perl, pour voir toutes les variables d'environnement, vous pouvez faire :
foreach my $env (keys %ENV) { print "$env=$ENV{$env}n"; }
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
romario
Effectivement ça marche au sein du meme shell.
J'aimerais que ça marche d'une maniere plus globale car mon script communique avec d'autre via cette variable d'environnement.
Y a t-il un moyen d'obtenir le resultat souhaité ?
Merci
Effectivement ça marche au sein du meme shell.
J'aimerais que ça marche d'une maniere plus globale car mon script
communique avec d'autre via cette variable d'environnement.
Y a t-il un moyen d'obtenir le resultat souhaité ?