Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

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]
[moritz]: good morning
[moritz]: perl -MNetAddr::IP -wE 'say NetAddr::IP->new( "2001:780:233::/ 64")->hostenum' dies with netmask error: overrange or spurious bits at -e line 1.
[moritz]: any idea what's wrong?

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (8)
As of 2017-04-25 07:32 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (449 votes). Check out past polls.