in reply to (boo) Re: Multi-Dimensional Array to Hash Conversion Optimization
in thread Multi-Dimensional Array to Hash Conversion Optimization
The only downside is that the crazy casting that goes on in there doesn't handle errors very well, so it is really flying by the seat of your pants.sub selectall_hashref_byid { my ($table) = shift; my ($select); if (scalar(@_) == 1) { # Single key to fetch, so no HoH return { @{$db->selectall_arrayref("SELECT id,? FROM $ +_", $_[0])} }; } if (@_) { unshift (@_, 'id') unless (@_ && grep ("id", @_)); } else { @_ = ('*'); } my ($hash, $row, $query); $hash = {}; $query = $db->prepare ("SELECT ".join (',', @_)." FROM $table" +); $query->execute (); while (my $row = $query->fetchrow_hashref) { # Stoke it $hash->{$row->{id}} = $row; # Deredundantize it delete $hash->{$row->{id}}->{id}; } return $hash; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(boo) Re:x3 Multi-Dimensional Array to Hash Conversion Optimization
by boo_radley (Parson) on Apr 03, 2001 at 20:47 UTC | |
by tadman (Prior) on Apr 03, 2001 at 21:00 UTC | |
by boo_radley (Parson) on Apr 03, 2001 at 21:11 UTC |