#!/usr/bin/perl use strict; use warnings; my @result = 'whew'; my %master_letter_freq = ( w => 1, h => 1, t => 1, o => 1, r => 2, e => 1, ); OUTER: foreach (@result) { my %seen; $seen{$_}++ for (split //,lc $_); foreach (keys %seen) { next OUTER if ($seen{$_} > $master_letter_freq{$_}); } print "$_\n"; }