At 06:05 PM 7/8/2002 -0600, Jose Malacara wrote: >Hello all, >I am new to the list and have what I believe is a pretty basic question, >I'm just not sure where to begin. > >I have a file where I need to search for the occurences of two variables >(State and City) and then create another field (Location) based on the sum >of the two previous values. I was wonderig if someone could recommend a >method to do this? I don't mind hashing it out myself if someone might >point me in the right direction. > >This is basically what I have now: > >State=Colorado >City=Denver >City=Boulder >City=Longmont >State=Texas >City=Austin >City=Dallas >City=Houston > > >This is what I would like the end result to be: > >State=Colorado >City=Denver >Location=DenverColorado >City=Boulder >Location=BoulderColorado >City=Longmont >Location=LongmontColorado >State=Texas >City=Austin >Location=AustinTexas >City=Dallas >Location=DallasTexas >City=Houston >Location=HoustonTexas > >I guess my main question would be how to keep the 'State' value associated >with the cities that follow it. >
Sounds like the right place for a hash of arrays. Let your keys be the states and your values be anonymous arrays of cities. Like so: %sites = ( 'Colorado' => [ qw(Denver Boulder) ], 'Texas' => [ qw(Austin Dallas Houston) ] ); I'd build the Location field only as I needed it for printing. foreach $state (sort keys %sites) { foreach $city (sort @{ $sites{$state} }) { print "Location = $city$state\n"; } } Cheers, Kristina Nairn -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]