所以,我有兩個變量Perl的QQ,並強調
$x = q(foo);
$y = q(bar);
我的目標是在第三個變量以下劃線他們即foo_bar
之間使用它們。有很多方法可以做到這一點,但我想用qq
所以
$z = qq($x_$y);
這提供了以下錯誤
Global symbol "$x_" requires explicit package name at test.pl line 45.
Execution of C:\test.pl aborted due to compilation errors.
所以我不得不使用大括號與變量x
使其工作
$z = qq(${x}_$y);
爲什麼unde rscore不適用於qq
?爲什麼在這種情況下需要大括號?
'qq($ x_ $ y)'與'$ x_完全一樣。 $ y'。你需要curlies,因爲那不是你想要的。 – ikegami
回覆:爲什麼下劃線不能和qq一起工作?'這不僅僅是'qq()',你會用'$ x_ $ y'來解決同樣的問題;'因爲在答案中解釋了原因。 –