Perl操作系统环境变量的脚本代码

来源:爱站网时间:2020-05-07编辑:网友分享
每个人在使用Perl的时候,都集中在系统下进行操作,但是我们也要在操作后进行调试,这样方便初学者学习的记录,如果爱站技术频道对这些操作都感兴趣的话,就跟随着小编进入下文详细了解Perl操作系统环境变量的脚本代码吧!

每个人在使用Perl的时候,都集中在系统下进行操作,但是我们也要在操作后进行调试,这样方便初学者学习的记录,如果爱站技术频道对这些操作都感兴趣的话,就跟随着小编进入下文详细了解Perl操作系统环境变量的脚本代码吧!

如何用Perl脚本操作系统环境变量呢?

想必很多朋友马上就会想到Perl中提供的$ENV这个特殊的哈希变量,对,在$ENV中完全可以获取到一些系统变量。怎么获取呢?比如想要知道Path这个系统环境变量的内容,我们可以通过$ENV{'Path'} 来获取。如果想设置Path这个环境变量呢,哈,使用$ENV{'Path'}=‘C:\Windows\System32'来设置。想获取所有的环境变量列表也很简单,哈希遍历不就可以了~

其实,本文中真正想问的是,你在通过上述方法设置了一个环境变量后,右击"我的电脑"的属性,选中高级选项卡后查看的Path变量值真的改变了吗?其实,细心的你会发现,完全没变!但千万不要抱怨Perl欺骗了你,它其实并没有欺骗你,而是你没有真正的理解。其实,Path变量可以通过设置$ENV{'Path'}来设置,但是这个设置所引起的改变只是Session级别的,即你程序级别的。如果还不理解的话,可以想象成打开一个CMD后,输入SET Path="C:\\Royen"所引起的效果,即在这个窗口中运行过程中Path环境变量是"C:\\Royen",而你再打开一个Cmd后的新的窗口的Path变量则会发现完全不是”C:\\Royen“;

所以想要真正的添加或者改变一个系统环境变量,我们需要求助于注册表帮忙。只要找到环境变量在注册表中存储的位置即可。
一般系统变量可以在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下面可以找到。

实现:    

 

my $loc="SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
my $regkey;
$HKEY_LOCAL_MACHINE->Open($loc,$regkey) || die "Open Registry Fail,Information:$!\n";
$regkey->SetValueEx("PERLLIB",0,REG_SZ,"c:\\staf\\bin;c:\\staf\\bin\\Perl58");

 

Perl操作系统环境变量的脚本代码,大家都了解了吗?大家看完上面的内容之后,是不是恍然大悟了呢?总之,希望大家看完之后,都能够掌握Perl的知识。

上一篇:Perl split字符串分割函数用法指南

下一篇:perl特殊符号及默认的内部变量

您可能感兴趣的文章

相关阅读

查看更多 >

热门软件源码

最新软件源码下载