這可能是我的一個簡單的忽略(或比我的技能更先進的東西)。我試圖通過從文件中讀取輸入來動態填充2d關聯數組。Perl動態生成多維關聯數組
my @data;
while (<FILE>) {
chomp;
my $ID,$COUNT;
print "READ: " . $_ . "\n"; #Debug 1
($ID,$COUNT,undef,undef,undef) = split /\,/;
print "DATA: " . $ID . "," . $COUNT . "\n"; # Debug 2
$data{$ID}{"count"} = $COUNT;
#push @{$data{$ID}{"count"}}, $COUNT;
print $data{$ID}{"count"} . "\n"; # Debug 3
}
第一個打印(調試1)將打印類似於des313,3 ,,,的行。
第二打印(調試2)將打印線DATA:des313,3
第三打印(調試3)將打印一個空行。
這個問題似乎是我試圖將數據插入關聯數組的方式。我已經嘗試了直接插入和推式方法,但沒有結果。我已經用PHP做了這個,但我認爲我在Perl中忽略了這一點。我在HASHES的HASHES部分查看了perldoc perldsc頁面,但是我沒有看到它談論它們的動態生成。任何建議都會很棒!
儘管可以提高你的代碼工作正常,我因爲它的立場。第三個調試行正確打印存儲的$ COUNT值。請再次檢查此代碼,並告訴我們您會得到什麼結果以及您正在使用的數據文件的內容。 – Borodin 2012-01-15 04:40:44
如果您從使用術語「關聯數組」的源學習Perl,那麼它幾乎肯定是過時的。請找一些不超過15歲的東西。 – 2012-01-15 16:29:21