$all_rows = [
[R1C1, R1C2, ..., R1Cn],
[R2C1, R2C2, ..., R2Cn],
...,
[RnC1, RnC2, ..., RnCn],
];
####
# Table: group
# Columns: id, name
# Values: 1, Admin
# 2, User
# 3, Public
my $sql = 'select * from group';
my $r = $dbh->selectcol_arrayref($sql); # default to first column
# or, if you want the the 'name' column
my @r = @{$dbh->selectcol_arrayref($sql, {Columns=>[2]})}; # we want the 2nd column
# if you know the column name you want in advanced:
my $sql2 = 'select name from group';
my @group_names = @{$dbh->selectcol_arrayref($sql2)};
print Data::Dumper->Dump(
[$r, \@r, \@group_names],
[qw(id name group_names)],
);
####
$id = [
'1',
'2',
'3',
];
$name = [
'Admin',
'User',
'Public',
];
$group_names = [
'Admin',
'User',
'Public',
];