my @country_states; for (@logfiles) { my $country_state = $_; # Avoid clobbering @logfiles $country_state =~ s/.txt//; $country_state =~ s/_/ /g; push @country_states, $country_state; } @country_states = sort @country_states; my $last_country; for my $country_state (@country_states) { my ($country, $state) = split(/-/, $country_state, 2); if (!defined($last_country) || $last_country ne $country) { $last_country = $country; print(uc($country), "\n"); } print($state, "\n"); }