如何从 Perl 设置 Windows PATH 变量?
-
21-08-2019 - |
题
我需要在 Perl 中设置环境变量。理想情况下,我需要查询一个变量,然后在不需要时更改它。具体来说,我要更改的是 PATH 变量。
我如何获取和设置这些变量?
解决方案
如果您需要全局且永久地更改环境变量,就像在控制面板中设置它一样,那么您必须 与注册表混在一起 (更新:现在有模块可以做到这一点, Win32::环境 和 Win32::Env::路径)。请注意,更改注册表中的变量并“广播”更改不会更改某些当前进程中的环境变量,特别是 perl.exe 和 cmd.exe。
如果您只想更改当前进程(以及随后生成的子进程),那么全局 %ENV 哈希变量就是您想要的(例如$ENV{路径})。看 佩尔多克·佩尔瓦尔.
其他提示
$ ENV {PATH}?
记请的环境变量只影响子进程,但是。您不能运行Perl程序,改变%ENV,然后看到父进程的变化 - 对环境不工作的方式。
可以做到这一点使用%ENV
散列
$ENV{PATH} = 'C:\\Windows\;D:\\Programs';
不隶属于 StackOverflow