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

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