Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

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

by Eimi Metamorphoumai (Deacon)
on Jul 21, 2005 at 19:24 UTC ( [id://476972]=note: print w/replies, xml ) Need Help??


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

Of course, TMTOWTDI, but it seems like a hash would definitely be in order. I'd use the states for keys, and the files for values. So
my %lookup = ( "Alabama" => "southern.txt", "Alaska" => "northern.txt", .... ); my $file = $lookup{$input_state};

Replies are listed 'Best First'.
Re^2: Use Hash? Array? Still confused after all these years.
by TGI (Parson) on Jul 21, 2005 at 19:41 UTC
    This is a bit more advanced, but it lets you assign a list of states to a region, and then generates a hash keyed by state name from.
    # Make a hash of regions, pointing to an array of states in each regio +n. # use qw() to quote words. # Use _ for spaces, replace with space when turning hash inside out. my %regions = ( southern => [ qw( Alabama Georgia Tennessee West_Virginia ) ], western => [ qw( Oregon Washington California Idaho Montana )], # ... ); # Turn %regions inside out. my %states; # Winds up with data like $states{Oregon} = west +ern foreach my $region (keys %regions) { foreach (@$regions{$region}) { # Copy the state list s/_/ /g; # replace _ with spaces. West_Virginia becomes We +st Virginia $states{$_} = $region # Store the state info. } }


    TGI says moo

Re^2: Use Hash? Array? Still confused after all these years.
by hmbscully (Scribe) on Jul 26, 2005 at 20:57 UTC
    Thanks for all the replies. Its a lot of good stuff to digest, but luckily, this first entry helped me understand the basic concept and deal with the question at hand. Now to try and get some more work done so I have time to revisit Learning Perl.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (5)
As of 2024-03-28 16:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found