【发布时间】:2012-07-25 00:54:53
【问题描述】:
方法一:
$C_HOME = "$ENV{EO_HOME}\\common\\";
print $C_HOME;
给 C:\work\System11R1\common\
ie 环境变量正在扩展。
方法二:
解析属性文件有 C_HOME = $ENV{EO_HOME}\common\
while(<IN>) {
if(m/(.*)\s+=\s+(.*)/)
{
$o{$1}=$2;
}
}
$C_HOME = $o{"C_HOME"};
print $C_HOME;
这给出了 $ENV{EO_HOME}\common\
的输出ie 环境变量没有得到扩展。
如何确保环境变量在第二种情况下也得到扩展。
【问题讨论】:
-
$o到底是什么?你在哪里初始化它(通过my——当然,你这样做是因为你正在使用strict和warnings编译指示,对吧)?尝试使用Data::Dumper查看$o包含的内容。