我需要在Perl中设置一个环境变量。理想情况下,我需要查询一个变量,然后在不需要时更改它。具体来说,它是我想改变的PATH变量。如何从Perl设置Windows PATH变量?
如何获取和设置这些变量?
我需要在Perl中设置一个环境变量。理想情况下,我需要查询一个变量,然后在不需要时更改它。具体来说,它是我想改变的PATH变量。如何从Perl设置Windows PATH变量?
如何获取和设置这些变量?
如果您需要更改环境变量全球和永久,因为如果你在控制面板中设置它,那么你必须muck with the registry(更新:现在有模块可以做到这一点,Win32::Env和Win32::Env::Path)。请注意,在注册表中更改变量并“广播”更改不会更改某些当前进程中的环境变量,特别是perl.exe和cmd.exe。
如果您只是想更改当前进程(以及随后生成的子进程),那么全局%ENV哈希变量就是您想要的(例如$ ENV {PATH})。请参阅perldoc perlvar。
$ ENV {PATH}?
请记住,环境变量只影响子过程,但是。你不能运行一个Perl程序,改变%ENV,然后在父进程中看到这种改变 - 环境不能这样工作。
你可以做到这一点使用%ENV
哈希
$ENV{PATH} = 'C:\\Windows\;D:\\Programs';
LOL,我们成功地在同一秒内提交了相同的答案! :-p – 2009-02-04 18:22:50
伟大的思想家都认为;) – jrockway 2009-02-04 18:28:04