這已在幾次之前問過,但這些答案似乎都不適用於我的情況。嘗試循環訪問Perl中的哈希數組錯誤
我的代碼:
open(FILE, "<", $fileb) or die "File not openable: $!";
while (<FILE>) {
$filebmeta[$line] = (data => $_, match => -1);
$line++;
}
close(FILE);
$line = 0;
for my $hashref (@filebmeta) {
print "$hashref->{data}\n";
}
當我運行這段代碼就吐出:「不能使用字符串(‘-1’)作爲HASH裁判而‘嚴格裁判’在./partc使用第152行。'
任何想法爲什麼會發生這種情況?我似乎無法在循環中正確解引用散列。
而不是'$ line'使用'$ .'。另外,'使用警告'將解決這個問題。 –
或者使用'push'而不是使用'$ line'或'$ .'分配給一個帶編號的數組元素。 –