访问操作系统的环境变量

有时候,一个程序的操作或者配置必须要访问操作系统的环境。Perl提供了两种不同的方式来访问环境变量。你可以使用Perl内置的%ENV散列,或者你可以使用Env模块来访问环境。

两种方法都提供了对环境的双向访问,这就意味着对Perl变量的任何改变都会造成环境变量的改变。这些变化会被传递给任何子处理,但是不会在你的脚本退出之后被保留。

%ENV散列的使用很简单。%ENV散列的关键是环境变量名;散列值就是环境变量值。

下列代码会显示路径环境变量的内容:

print "path is $ENV ";

这段代码会创建(或者覆盖)环境里的PerlVar变量。

$ENV = "Perl Tech Tips";

要删除环境变量,就要使用delete。下面的例子会删除临时的环境变量:

delete $ENV;

访问环境变量的第二种方式是使用Env模块。Env模块会为每个环境变量创建Perl标量或者数组变量。

你可以指定要被导入的特定变量,你也可以导入所有的环境变量。如果你指定了环境变量名,那么它们就不需要作为环境变量而存在。

如果只想访问路径变量,就要使用下面的代码:

useEnvqw(PATH);

print "The path is $PATH ";

如果你不指定变量的类型,它就被当作标量。如果你将一个变量指定为数组(例如使用Envqw(@PATH);),那么它就会被Config::Config作为定界符自动地分割和合并。

下面的代码会在环境里创建(或者覆盖,如果它已经存在的话)PerlVar变量。

useEnvqw(PerlVar);

$PerlVar = "Perl Tech Tips";

Perl为访问环境变量提供了两种不同的方式:%ENV散列和Env模块。根据你的需要以及编写代码的个人喜好,你可以使用两种方式中的任何一种来访问或者更改环境变量。


附加测试代码:
#!/usr/bin/perl
#安裝說明:
#複製程式碼,並存成env.cgi
#以ascii模式上傳至主機cgi-bin目錄後將屬性改成755
$|=1;
print "Content-type: text/html/n/n";
print "<html><head><title>環境變數清單</title>/n";
print "</head>/n";
print "<body>/n";
print "<table border=1>/n";
print "<tr>/n";
print "<td>變數名稱</td>/n";
print "<td>目前狀況</td>/n";
print "</tr>/n";
foreach $fieldname(keys %ENV){
print "<tr>/n";
print "<td>$fieldname</td>/n";
print "<td>$ENV{$fieldname}</td>/n";
print "</tr>/n/n";
}
print "</table>/n";
print "</body></html>/n";
exit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值