perl: DBIの使い方

selectall_arrayref
の使い方。

my $ref = $dbh->selectall_arrayref($sql);

みたいな使い方(引数ひとつ)だと、$refは2重配列の参照になる。
$refからデータを取り出すには、例えば以下のようにする。

foreach my $rec (@$ref) {
foreach my $col (@$rec) {
print "$col\t";
}
print "\n";
}


my $ref = $dbh->selectall_arrayref($sql, { Columns=>{} });

この使い方だと、$refはハッシュ配列の配列の参照になる。
$refからデータを取り出すには、例えば以下のようにする。

foreach my $rec (@$ref) {
print "$rec->{columnName}\n";
}