2014-10-16 51 views
0

我想在perl中做一個2維的數組,我看到了這種簡單的方法是使用散列數組。 有我的散列的數組散列數組; 「嚴格參考」時,不能使用字符串(「1」)作爲ARRAY參考?

my %tstat; 

while ($index <= $i) { 
    $curfile[$index] = $camera_path[$index] . "/current.jpg"; 
    $tstat{$index} = stat($curfile[$index]); 
    $index++; 
} 

$index = 0; 
while ($index <= $i) { 
    if ($tstat{$index}[9] != $last_direct_img[$index] || $buffer_init-- > 0) { 
     ...; 
     $index++; 
    } 
} 

,它告訴我

不能使用字符串( 「1」)的數組引用,而 「嚴格的裁判」

我試圖用{9}改變[9],但它是一樣的,爲什麼?

回答

2

你必須存儲在內部結構的引用:

$tstat{$index} = [ stat($curfile[$index]) ]; 
0

嘗試:

my @status_info = stat($curfile[$index]); 
$tstat{$index} = \@status_info; 

然後:

my $mtime = $tstat{$index}->[9]; 
...