我需要在Perl中设置一个环境变量。理想情况下,我需要查询变量,然后更改它,如果它不是所需的。具体来说,它是我想要改变的PATH变量。
如何获取和设置这些变量?
答案 0 :(得分:16)
如果您需要全局和永久更改环境变量,就像在控制面板中设置它一样,那么您必须muck with the registry(更新:现在有模块可以执行此操作,Win32::Env和Win32::Env::Path)。请注意,更改注册表中的变量并“广播”更改不会更改某些当前进程中的环境变量,尤其是perl.exe和cmd.exe。
如果您只想更改当前进程(以及随后生成的子进程),那么全局%ENV哈希变量就是您想要的(例如$ ENV {PATH})。请参阅perldoc perlvar。
答案 1 :(得分:7)
$ ENV {PATH}?
请记住,环境变量只会影响子进程。您不能运行Perl程序,更改%ENV,然后在父进程中看到该更改 - 环境不能以这种方式工作。
答案 2 :(得分:4)
您可以使用%ENV
哈希
$ENV{PATH} = 'C:\\Windows\;D:\\Programs';