2011-03-10 76 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