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?

Foi útil?

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';
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top