2011-03-10 66 views
2

我想设置我以前在一个Perl脚本作为一个环境变量设置一个变量的环境中,但它似乎没有意识到我传递的参数是一个变量,而不是我想要的实际路径。设置一个Perl变量作为变量

例如,当我运行此:

$ENV{'ENV_VARIABLE'}='\'$file_path\''; 
print($ENV{'ENV_VARIABLE'}); 

我只得到:

'$file_path' 

有什么办法,我可以告诉它什么我传递实际上是一个变量,不是一个文字字符串?

回答

8

在Perl中,单引号字符串不插变量。你想用一个双引号:

$ENV{'ENV_VARIABLE'}= "'$file_path'"; 

在该行,右值被解释为q{'} . $file_path . q{'}其中q{'}是写'\'',这是一个有点难以阅读的一个奇特的方式。

+0

这个工作!非常感谢。 – beans 2011-03-10 00:16:07

+2

@beans,因为它的工作,你应该标记为正确的。 – 2011-03-10 01:35:02