my ($matrix_ref); #reference to array of references
$matrix_ref = $sth->fetchall_arrayref(); $fetch all rows
#determine dimensions of matrix
my ($rows) = (!defined($matrix_ref)?0:scalar(@{$matrix_ref}));
my ($cols) = ($rows == 0 ? 0:scalar(@{$matrix_ref->[0]}));
for(my $i = 0; $i < $rows; $i++){ #print each row
my ($delim) = "";
for(my $j = 0; $j < $cols; $j++){
print $delim.$matrix_ref->[$i][$j];
$delim =",";
}
print "/n";
}
如果结果集为空,则fetchall_arrayref()返回一个对空数组的引用。如果出现错误,则结果为
undef,所以如果没有启动raiseError,则在开始使用它以前,要确保检查返回值。