我需要在Perl中设置一个环境variables。 理想情况下,我需要查询一个variables,然后如果它不是必需的,就更改它。 特别是它是我想改变的PATHvariables。
我如何获得和设置这些variables?
如果你需要改变环境变量的全局和永久,就好像你在控制面板中设置,那么你必须使用注册表 (更新:现在有模块来做到这一点, Win32 :: Env和Win32 :: Env ::路径 )。 请注意,更改注册表中的变量和“广播”更改不会更改某些当前进程中的环境变量,特别是perl.exe和cmd.exe。
如果你只是想改变当前的进程(和后来产生的子进程),那么全局的%ENV哈希变量就是你想要的(例如$ ENV {PATH})。 见perldoc perlvar 。
$ ENV {PATH}?
请记住,环境变量只影响子进程,但是。 你不能运行一个Perl程序,改变%ENV,然后在父进程中看到这个改变 – 环境不能这样工作。
您可以使用%ENV
散列来完成此操作
$ENV{PATH} = 'C:\\Windows\;D:\\Programs';