Question

Je dois régler la variable d'environnement à partir de Perl. , J'ai besoin idéalement d'interroger une variable puis changer si ce n'est pas ce qui est nécessaire. Plus précisément, il est la variable PATH je veux changer.

Comment puis-je obtenir et de définir ces variables?

Était-ce utile?

La solution

Si vous avez besoin de changer les variables d'environnement au niveau mondial et en permanence, comme si vous définissez dans le panneau de commande, vous devez muck avec le de registre (mise à jour: et maintenant il y a des modules pour ce faire, Win32 :: :: Chemin Env ). Notez que la modification des variables dans le registre et « diffusion » le changement ne changera pas les variables d'environnement dans certains processus actuels, notamment perl.exe et cmd.exe.

Si vous voulez juste changer le processus en cours (et par la suite donné naissance à des processus enfants), la variable de hachage global% ENV est ce que vous voulez (par exemple $ ENV {PATH}). Voir perldoc perlvar .

Autres conseils

$ ENV {PATH}?

Gardez à l'esprit que les variables d'environnement affectent uniquement les sous-processus, cependant. Vous ne pouvez pas exécuter un programme Perl, changer% ENV, puis voir ce changement dans le processus parent -. L'environnement ne fonctionne pas de cette façon

Vous pouvez le faire en utilisant le hachage %ENV

$ENV{PATH} = 'C:\\Windows\;D:\\Programs';
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top