#!/usr/bin/perl
my $var_a;
$sub_a = "a";
$var_a = "a";
print ${var_."$sub_a"},"\n";
$sub_b = "b";
$var_b = "b";
print ${var_."$sub_b"},"\n";
__DATA__
b
爲什麼要打印b,但不是?這對我來說似乎是非常意想不到的行爲。變量名中的perl變量替換
我正在嘗試使用具有替代名稱的變量。在實踐中,我不能只聲明變量,因爲賦值是在forloop中完成的,因此具有不同的詞彙範圍。
'爲什麼會發生這種情況?'定義「這個」?與其詢問如何操作「黑客」,您應該詢問您的問題以及如何正確執行。使用字符串作爲引用違反'strict'編譯指示,應該避免。 – TLP 2012-08-02 18:54:41
@TLP,我知道。但是,perl支持變量名稱中的變量,我希望利用這個事實。我認爲「這個」會很明顯。 「a」不打印,而「b」是。我已經調整了問題。我完全有意用哈希來正確地完成它,並從一開始就做好準備。我希望看看能否實施並發現我認爲是我不明白的奇怪行爲。 – EricR 2012-08-02 19:19:02