我在計算如何在基於文本輸入的perl中創建嵌套哈希時遇到了一些麻煩。哈希的Perl嵌套哈希
我需要像這樣
my % hash = {
key1 => \%inner-hash,
key2 => \%inner-hash2
}
但我的問題是我不知道先驗多少內部散列會有。爲此,我寫了下面這段代碼來測試一個str變量是否可以在一個循環中創建,並且它的引用存儲在一個數組中,並在稍後解除引用。
{
if($line =~ m/^Limit\s+$mc_lim\s+$date_time_lim\s+$float_val\s+$mc\s+$middle_junk\s+$limit \s+$value/) {
my $str = $1 . ' ' . $2 . ' ' . $7;
push (@test_array_reference, \$str);
}
}
foreach (@test_array_reference) {
say $$_;
}
Perl因爲不是標量運行時錯誤而死亡。我在這裏有點失落。任何幫助將不勝感激。
沒有什麼會跳出來,因爲那代碼顯然是錯誤的(儘管我不認爲創建標量引用會對您的原始問題有所幫助)。你能否包含來自Perl的完整的逐字錯誤信息? – rra 2013-03-24 17:48:39
要將值存儲在任意深度的哈希中,請參閱Data :: Diver。你的第一個哈希賦值是壞的;要分配的列表應該在'()'而不是'{}'中。你能否展示一個完整的例子,它不會產生標量錯誤? – ysth 2013-03-24 17:51:59
在./BadMailClassLimit.pl第43行,第9817388行不是SCALAR引用。 –
subramanian
2013-03-24 18:00:59