Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

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, WhitePages.com


Comment on Re: Use Hash? Array? Still confused after all these years.
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://476974]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (14)
As of 2015-07-31 13:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (278 votes), past polls