我想在perl中使用2维做一个数组,我看到这样做的简单方法是使用哈希数组。 有我的哈希数组
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”)作为ARRAY参考号
我试着用{9}改变[9],但它是一样的,为什么?
答案 0 :(得分:2)
您必须在内部结构中存储引用:
$tstat{$index} = [ stat($curfile[$index]) ];
答案 1 :(得分:0)
尝试:
my @status_info = stat($curfile[$index]);
$tstat{$index} = \@status_info;
然后:
my $mtime = $tstat{$index}->[9];
...