我需要在Perl中设置一个环境变量.理想情况下,我需要查询变量,然后更改它,如果它不是所需的.具体来说,它是我想要改变的PATH变量.
如何获取和设置这些变量?
如果你需要全局和永久地更改环境变量,就好像你在控制面板中设置它,那么你必须使用注册表(更新:现在有模块来执行此操作,Win32 :: Env和Win32 :: Env ::路径).请注意,更改注册表中的变量并"广播"更改不会更改某些当前进程中的环境变量,尤其是perl.exe和cmd.exe.
如果您只想更改当前进程(以及随后生成的子进程),那么全局%ENV哈希变量就是您想要的(例如$ ENV {PATH}).见perldoc perlvar.
$ ENV {PATH}?
但请记住,环境变量只会影响子进程.您无法运行Perl程序,更改%ENV,然后在父进程中看到该更改 - 环境不能以这种方式工作.