在perl中内插env变量

时间:2019-03-15 06:14:41

标签: perl environment-variables

如何在分配给另一个变量之前对环境变量进行插值。 例如我正在从具有环境变量的输入文件中读取一行。所以我想分配变量的值。我没有看到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

1 个答案:

答案 0 :(得分:1)

以下是最小的解决方案:

$line2 =~ s/\$(\w+)/$ENV{$1}/g;

当然,您可能希望处理未明确定义的变量,并且可能需要某种转义机制来防止$的特殊含义。