while (my $line = <$fh>) { chomp $line; foreach my $mot (keys (%count)) { chomp $mot; foreach my $str ($line =~ /$mot/g) { $count{$str}++; } } } #### my $rx_word = qr{ \b [[:alpha:]]+ \b }xms; # a very naïve word! while (my $line = <$fh>) { exists $count{$_} and ++$count{$_} for $line =~ m{ $rx_word }xmsg; }