use Data::Dumper; my @vorname = qw/ Markus Fritz Otto /; my @list = qw/ Fritz Otto Fritz Josef /; my %treffer; my $re = join "|", @vorname; for my $entry (@list) { if ($entry =~ m/^($re)\Z/) { $treffer{$1}++; } } print Dumper \%treffer;