Como posso definir a variável PATH Windows a partir de Perl?
-
21-08-2019 - |
Pergunta
Eu preciso definir a variável de um ambiente de dentro do Perl. Idealmente, eu preciso consultar uma variável e, em seguida, alterá-lo se ele não é o que é necessário. Especificamente, é a variável PATH eu quero mudar.
Como faço para obter e definir essas variáveis?
Solução
Se você precisa de variáveis ??de ambiente mudança globalmente e de forma permanente, como se você configurá-lo no painel de controle, então você tem que muck com a registro (update: e agora existem módulos de fazer isso, Win32 :: Env e Win32 :: Env :: Path ). Note-se que a alteração das variáveis ??no registro e "transmitir" a mudança não irá alterar as variáveis ??de ambiente em alguns processos atuais, notadamente perl.exe e cmd.
Se você quer apenas mudar o processo atual (e processos filhos posteriormente gerados), então a variável global de hash% ENV é o que você quer (por exemplo $ ENV {PATH}). Consulte perldoc perlvar .
Outras dicas
$ ENV {PATH}?
Tenha em mente que as variáveis ??de ambiente afetam apenas subprocessos, no entanto. Você não pode executar um programa Perl, a mudança% ENV, e depois ver que a mudança no processo pai -. O meio ambiente não é assim que funciona
Você pode fazer isso usando o hash %ENV
$ENV{PATH} = 'C:\\Windows\;D:\\Programs';