# $rec - input record # $out - generated data foreach ( @{ $rec->{C1} } ) { my $country = $1 if m{,\s?([^,]+)\.$}; $country =~ s{^.+USA$}{USA}; $country =~ s{^\w\w\s\d{5}$}{USA}; $country =~ s{^\w\w$}{USA}; $out->{'C1_country+'}->{ uc $country }++; }