while ($seq =~ /GCT/ig) { $GCT++; } #### while ($seq =~ /\G(?:...)*?GCT/sig) { $GCT++; } #### while ($seq =~ /\G(...)/sg) { $GCT++ if uc($1) eq 'GCT'; } #### while ($seq =~ /\G(...)/sg) { $counts{uc($1)}++; } #### my %counts; ++counts{uc($_)} for $seq =~ /.../sg; for my $l1 (qw( T C A G )) { for my $l2 (qw( T C A G )) { for my $l3 (qw( T C A G )) { my $k = "$l1$l2$l3"; my $v = $counts{$k} || 0; print("$k=$v;"); } print("\n"); } }