c:\@Work\Perl\monks>perl -wMstrict -le "my $Dna1 = qq{AACAGCACGGCAACGCTGTGCCTTGGGCACCATGCAGTACCAAACGGAACGATAGTGAAAACAATCACGA\n}; ;; while ($Dna1 =~ /C[AG]G/g) { my ($start, $end, $len) = ($-[0], $+[0], $+[0]-$-[0]); print qq{pattern C[AG]G matched @ offsets $start thru $end, $len long}; } " pattern C[AG]G matched @ offsets 2 thru 5, 3 long pattern C[AG]G matched @ offsets 7 thru 10, 3 long pattern C[AG]G matched @ offsets 34 thru 37, 3 long pattern C[AG]G matched @ offsets 44 thru 47, 3 long #### c:\@Work\Perl\monks>perl -wMstrict -le "my $Dna1 = qq{AACAGCACGGCAACGCTGTGCCTTGGGCACCATGCAGTACCAAACGGAACGATAGTGAAAACAATCACGA\n}; ;; while ($Dna1 =~ /(C[AG]G)/g) { my $sub_seq = $1; my ($start, $end, $len) = ($-[1], $+[1], $+[1]-$-[1]); print qq{matched '$sub_seq' @ offsets $start thru $end, $len long}; } " matched 'CAG' @ offsets 2 thru 5, 3 long matched 'CGG' @ offsets 7 thru 10, 3 long matched 'CAG' @ offsets 34 thru 37, 3 long matched 'CGG' @ offsets 44 thru 47, 3 long