Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

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 web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (10)
As of 2016-10-21 14:08 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (289 votes). Check out past polls.