salut,
Est il possible en perl de faire un export d' une variable d'environnement dans l'hypothese ou cette variable n'est pas defini ou si l'on souhaite modifier sa valeur ?
Merci
salut,
Est il possible en perl de faire un export d' une variable d'environnement dans l'hypothese ou cette variable n'est pas defini ou si l'on souhaite modifier sa valeur ?
Merci
Salut ! Tu pourrais préciser un peu ce que tu veux faire ? Je suis pas sûr de comprendre làEnvoyé par donny
"En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
Application :
ainsi qu'à regarder la avant de poser une question.
La rubrique Perl recrute, contactez-moi.
c'est simple, c'est comme sous unix.je souhaiterais modifé ou affecter une valeur à une variable d'environnement.
je veux faire cela
MAENVVAR=toto
export MAENVVAR
Est-ce que tu veux que cette variable ait cette valeur après l'exécution du script ou seulement pendant ?
Dans le second cas, tu peux modifier %ENV
Crois-je...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ENV{MAENVVAR} = "toto";
Hello,
Je profite de ce post pour poser une question,
J'utilise également le $ENV{''} pour lire et changer la valeur, mais je n'arrive pas à récupérer la nouvelle valeur dans un batch.
Un exemple avec un batch "appel.bat" et un programme Perl "pgm.pl" :
Dans "appel.bat" :
Dans "pgm.pl" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SET MAVAR=AAA C:\Perl\bin\perl.exe "C:/pgm.pl" ECHO %MAVAR%
La variable MAVAR est bien lue et bien modifiée dans "pgm.pl"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 print $ENV{'MAVAR'}; # Affiche "AAA" $ENV{'MAVAR'} = "BBB"; print $ENV{'MAVAR'}; # Affiche "BBB"
Mais dans le batch "appel.bat", le ECHO en ligne 3 affiche toujours "AAA" pourtant la valeur a bien été modifiée dans le pgm.pl
Comment se fait-ce ??
Pourquoi veux-tu à tous prix modifier les variables d'environnement ? En général, ces variables sont faites pour être fixées une fois pour toutes dans le système. La modification par l'execution d'un programme doit être exceptionnelle.
A quoi ça te sert de modifier la variable depuis le perl ?
Je ne répond à aucune question technique par MP.
Si votre problème est réglé, n'oubliez pas Dans tous les cas
Je ne veux pas modifier les variables d'environnement existantes (comme %TIME%, %PATH%, etc)
Je veux en créer de nouvelles, afin de passer des valeurs d'un processus fils à un processus père.
alors ca n'est pas la bonne methode
fais une recherche sur search.cpan.org sur "IPC"
en gros les possibilités (efficaces) sont de passer soit par une zone memoire partagée (en mmap), soit par des sockets, soit par le systeme de fichier (berkeleyDB ou autre)
quelque pistes:
http://search.cpan.org/~robm/Cache-F...14/FastMmap.pm
http://search.cpan.org/~pmqs/Berkele...BerkeleyDB.pod
et une solution assez generique (meme inter machines avec memcached ou DBI):
http://search.cpan.org/~audreyt/IPC-.../IPC/PubSub.pm
Recherche staigiaire(s) motivé(s) sur projet perl/reseau a grande echelle. Me contacter par mp.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager