Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Use Hash? Array? Still confused after all these years.

by kirbyk (Friar)
on Jul 21, 2005 at 19:33 UTC ( #476974=note: print w/replies, xml ) Need Help??

in reply to Use Hash? Array? Still confused after all these years.

In general, if you want to group things for lookup, you're talking about a hash. If you want things in order, you're talking about an array.

In this case, as with many real world problems, you sort of want a little of both - you want a hash of arrays.

At the top level, you want a hash keyed off of state. The value for each of these, you want a list of address information for that state - an array of addresses. Then, your printout loop looks kind of like:

foreach my $state (keys %addresses) { foreach my $address (@{$addresses{$state}}) { write $filehandle($state) $address . "\n"; } }
(Obviously leaving out some steps, like creating your filehandles and building up the data structure. But see how simple that organization makes it to deal with?)

-- Kirby,

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://476974]
and the rats come out to play...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2018-03-23 09:57 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (289 votes). Check out past polls.