my (%country_seen,%state_seen,%city_seen); for my $location (@locations){ next if ($location eq 'HEADING'); my ($country,$state,$city) = split /,/, $location; push @countries, $country unless $country_seen{$country}++; push @states, $state unless $state_seen{$state}++; push @cities, $city unless $city_seen{$city}++; }