##
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");
}
}