c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my @proteins = qw(AAAAKAAAA AAAAKAAAA AAAAAA); ;; my %seen = map {$_ => 1} @proteins; ;; print qq{Peptide '$_'} for grep !$seen{$_}++, map {split /[KR]\K(?!P)/} @proteins; ;; dd \%seen; " Peptide 'AAAAK' Peptide 'AAAA' { AAAA => 2, AAAAAA => 2, AAAAK => 2, AAAAKAAAA => 1 }