in reply to Search an array ref of array refs
Re-reading your post, it sounds like you're wanting to do a little more than just iteration. If 'rowid' is just a column, and you plan on doing many of these look-ups, you can approach this two different ways. If by 'rowid' you mean the order the rows appear in the database (thus the order they're SELECTed out, though I'm not sure this can be relied on), iteration or direct-access (e.g. $table->[$rowid]) is probably OK for you. If you're wanting to truly search, something like this might be what you're after:foreach my $row (@{$table}) { print "columns: ", join(", ", @{$row}), "\n"; }
You can also consider storing just the index into @{$table} instead of the row itself.my %search_cache; sub search_for { my $table = shift; my $value = shift; return $search_cache{$value} if exists $search_cache{$value}; foreach my $row (@{$table}) { if ($row->{column} eq $value) { return $search_cache{$value} = $row; } } return $search_cache{$value} = undef; # cache failure }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Search an array ref of array refs
by bittondb (Novice) on Nov 01, 2001 at 08:05 UTC | |
by Fastolfe (Vicar) on Nov 01, 2001 at 09:33 UTC |