c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my $line = 'AAAATTTTCCCCGGGGAAAGGxAAAACCCCTTTTGGGGAAAGGxAAAATTTTCCCCGGGGAAAGG' ; ;; my (%unique_data, $count); while ($line =~ m{ (.{9} [ATCG]{10} GG) }xmsg) { print qq{>crispr_@{[ ++$count ]} '$1'} unless $unique_data{$1}++; } ;; dd \%unique_data; " >crispr_1 'AAAATTTTCCCCGGGGAAAGG' >crispr_2 'AAAACCCCTTTTGGGGAAAGG' { "AAAACCCCTTTTGGGGAAAGG" => 1, "AAAATTTTCCCCGGGGAAAGG" => 2 }