如何在分配给另一个变量之前对环境变量进行插值。 例如我正在从具有环境变量的输入文件中读取一行。所以我想分配变量的值。我没有看到variable的值。我的代码如下。
open (FH , "<", "$ARGV[0]")
while ($line = <FH>)
$line2 = $line
}
print $line; ## prints $abc/ver
print $line2; ## prints $abc/ver
value of abc environment is username ; So I am expecting to have $line2 value as below
print $line2 ; ## Should print username/ver
答案 0 :(得分:1)
以下是最小的解决方案:
$line2 =~ s/\$(\w+)/$ENV{$1}/g;
当然,您可能希望处理未明确定义的变量,并且可能需要某种转义机制来防止$
的特殊含义。