#!/usr/bin/perl use warnings; use strict; while () { chomp; print "$_ -> "; m/(\w)\Z/; my $last = $1; if (s/($last{3,})\Z/$last$last/) { my $len = length($1)-2; print "$len -> $_\n"; } else { print "\n" } } __DATA__ ACTGCTAGGGGGGG TCAGCTAGCNA ACTGSCGACAAAA GTCTGAGTTATTT #### ACTGCTAGGGGGGG -> 5 -> ACTGCTAGG TCAGCTAGCNA -> ACTGSCGACAAAA -> 2 -> ACTGSCGACAA GTCTGAGTTATTT -> 1 -> GTCTGAGTTATT