I was puzzling over that today. The issue is that selectall_arrayref gives you back a reference to an array of arrays, where each row from the query result is put into an array, and references to each of those arrays are put into a higher level array. A reference to that top level array is returned. All this is usefull if you are querying for several collums in each row, but is a useless level of indirection if you are only querying for one.
The solution I used was to make use of the map function to flatten the data structure. I hope it does not look to much like code golf!
my @query_results = map { $_->[0] } @{ $sth->fetchall_arrayref() };
In reply to Re: $dbh->selectall_arrayref to simple @array
by chrestomanci
in thread $dbh->selectall_arrayref to simple @array
by guacamayo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |