如何从Perl设置Windows PATH变量?

Xet*_*ius 11 windows environment perl

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

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

run*_*rig 16

如果你需要全局和永久地更改环境变量,就好像你在控制面板中设置它,那么你必须使用注册表(更新:现在有模块来执行此操作,Win32 :: EnvWin32 :: Env ::路径).请注意,更改注册表中的变量并"广播"更改不会更改某些当前进程中的环境变量,尤其是perl.exe和cmd.exe.

如果您只想更改当前进程(以及随后生成的子进程),那么全局%ENV哈希变量就是您想要的(例如$ ENV {PATH}).见perldoc perlvar.


jro*_*way 7

$ ENV {PATH}?

但请记住,环境变量只会影响子进程.您无法运行Perl程序,更改%ENV,然后在父进程中看到该更改 - 环境不能以这种方式工作.


Leo*_*ans 5

您可以使用%ENV哈希来做到这一点

$ENV{PATH} = 'C:\\Windows\;D:\\Programs';
Run Code Online (Sandbox Code Playgroud)