use warnings; use strict; # 1 2 3 4 # 0123456789012345678901234567890123456789012345678 my $dna = 'xxxxxxpecbcbccrlxxxxxxpeeeerlxxxxxplxxxxxPeRLxxxx'; my $re = qr/p.*?l/i; while ( $dna =~ m[($re)]g ) { print join " " => $1, $-[0], $+[0]-1, $/; }