我需要在 Perl 中设置环境变量。理想情况下,我需要查询一个变量,然后在不需要时更改它。具体来说,我要更改的是 PATH 变量。

我如何获取和设置这些变量?

有帮助吗?

解决方案

如果您需要全局且永久地更改环境变量,就像在控制面板中设置它一样,那么您必须 与注册表混在一起 (更新:现在有模块可以做到这一点, Win32::环境Win32::Env::路径)。请注意,更改注册表中的变量并“广播”更改不会更改某些当前进程中的环境变量,特别是 perl.exe 和 cmd.exe。

如果您只想更改当前进程(以及随后生成的子进程),那么全局 %ENV 哈希变量就是您想要的(例如$ENV{路径})。看 佩尔多克·佩尔瓦尔.

其他提示

$ ENV {PATH}?

请的环境变量只影响子进程,但是。您不能运行Perl程序,改变%ENV,然后看到父进程的变化 - 对环境不工作的方式。

可以做到这一点使用%ENV散列

$ENV{PATH} = 'C:\\Windows\;D:\\Programs';
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top