如何从Perl设置Windows PATH变量?

时间:2009-02-04 18:19:10

标签: windows perl environment

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

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

3 个答案:

答案 0 :(得分:16)

如果您需要全局和永久更改环境变量,就像在控制面板中设置它一样,那么您必须muck with the registry(更新:现在有模块可以执行此操作,Win32::EnvWin32::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';