c:\@Work\Perl\monks>perl -wMstrict -le "use Data::Dump qw(dd); ;; my @proteins = qw( DAAAAATTLTTTAMTTTTTTCKMMFRPPPPPGGGGGGGGGGGG ALTAMCMNVWEITYHKGSDVNRRASFAQPPPQPPPPLLAIKPASDASD DAAAAATTLTTTAMTTTTTTCK XXXXXXX ); ;; my %protein_peptides; ;; for my $protein (@proteins) { my @peptides = split /(?<=[KR])(?!P)/, $protein; ;; next if @peptides < 2; ;; push @{ $protein_peptides{$protein} }, \@peptides } ;; dd \%protein_peptides; " { ALTAMCMNVWEITYHKGSDVNRRASFAQPPPQPPPPLLAIKPASDASD => [ ["ALTAMCMNVWEITYHK", "GSDVNR", "R", "ASFAQPPPQPPPPLLAIKPASDASD"], ], DAAAAATTLTTTAMTTTTTTCKMMFRPPPPPGGGGGGGGGGGG => [ ["DAAAAATTLTTTAMTTTTTTCK", "MMFRPPPPPGGGGGGGGGGGG"] ], }