#!/usr/bin/perl -w
# Counting 3-letter words in a string
$a="NTCA TCC TCGTCTTTCTTTTTATTGTACTATTAATAGTGCTGTTGATGGCTACTCCTGCTTCCACAT
CAACAGCGACGCCGGCGTATAATCATTATGACAACCACGACTAACAATAAAAAGAGCAGTAGAAGGCCCCCGC
CTCACGTAGTCGTGGTTGCAGCCGCGGCTGACGATGAAGAGGGAGGCGGGGGT N";
# Remove whitespace
$a=~ s/\s//g;# Line
# Count number of 3-letter word
$b=length($a);
# Initialization
$A=0;$T=0;$G=0;$C=0;$e=0;
$TCA=0;$TCC=0;$TCG=0;$TCT=0;$TTC=0;$TTT=0;$TTA=0;$TTG=0;$TAC=0;$TAT=0;
$TAA=0;$TAG=0;$TGC=0;$TGT=0;$TGA=0;$TGG=0;$CTA=0;$CTC=0;$CTG=0;$CTT=0;
$CCA=0;$CAT=0;$CAA=0;$CAG=0;$CGA=0;$CGC=0;$CGG=0;$CGT=0;$ATA=0;$ATC=0;
$ATT=0;$ATG=0;$ACA=0;$ACC=0;$ACG=0;$ACT=0;$AAC=0;$AAT=0;$AAA=0;$AAG=0;
$AGC=0;$AGT=0;$AGA=0;$AGG=0;$CCC=0;$CCG=0;$CCT=0;$CAC=0;$GTA=0;$GTC=0;
$GTG=0;$GTT=0;$GCA=0;$GCC=0;$GCG=0;$GCT=0;$GAC=0;$GAT=0;$GAA=0;$GAG=0;
$GGA=0;$GGC=0;$GGG=0;$GGT=0;
while($a=~ /A/ig){$A++}
while($a=~ /T/ig){$T++}
while($a=~ /G/ig){$G++}
while($a=~ /C/ig){$C++}
while($a=~ /[^ATGC]/ig){$e++}
while($a=~ /(TCA)/ig){$TCA++}
while($a=~ /(TCC)/ig){$TCC++}
while($a=~ /(TCG)/ig){$TCG++}
while($a=~ /(TCT)/ig){$TCT++}
while($a=~ /(TTC)/ig){$TTC++}
while($a=~ /(TTT)/ig){$TTT++}
while($a=~ /(TTA)/ig){$TTA++}
while($a=~ /(TTG)/ig){$TTG++}
while($a=~ /(TAC)/ig){$TAC++}
while($a=~ /(TAT)/ig){$TAT++}
while($a=~ /(TAA)/ig){$TAA++}
while($a=~ /(TAG)/ig){$TAG++}
while($a=~ /(TGC)/ig){$TGC++}
while($a=~ /(TGT)/ig){$TGT++}
while($a=~ /(TGA)/ig){$TGA++}
while($a=~ /(TGG)/ig){$TGG++}
while($a=~ /(CTA)/ig){$CTA++}
while($a=~ /(CTC)/ig){$CTC++}
while($a=~ /(CTG)/ig){$CTG++}
while($a=~ /(CTT)/ig){$CTT++}
while($a=~ /(CCA)/ig){$CCA++}
while($a=~ /(CAT)/ig){$CAT++}
while($a=~ /(CAA)/ig){$CAA++}
while($a=~ /(CAG)/ig){$CAG++}
while($a=~ /(CGA)/ig){$CGA++}
while($a=~ /(CGC)/ig){$CGC++}
while($a=~ /(CGG)/ig){$CGG++}
while($a=~ /(CGT)/ig){$CGT++}
while($a=~ /(ATA)/ig){$ATA++}
while($a=~ /(ATC)/ig){$ATC++}
while($a=~ /(ATT)/ig){$ATT++}
while($a=~ /(ATG)/ig){$ATG++}
while($a=~ /(ACA)/ig){$ACA++}
while($a=~ /(ACC)/ig){$ACC++}
while($a=~ /(ACG)/ig){$ACG++}
while($a=~ /(ACT)/ig){$ACT++}
while($a=~ /(AAC)/ig){$AAC++}
while($a=~ /(AAT)/ig){$AAT++}
while($a=~ /(AAA)/ig){$AAA++}
while($a=~ /(AAG)/ig){$AAG++}
while($a=~ /(AGC)/ig){$AGC++}
while($a=~ /(AGT)/ig){$AGT++}
while($a=~ /(AGA)/ig){$AGA++}
while($a=~ /(AGG)/ig){$AGG++}
while($a=~ /(CCC)/ig){$CCC++}
while($a=~ /(CCG)/ig){$CCG++}
while($a=~ /(CCT)/ig){$CCT++}
while($a=~ /(CAC)/ig){$CAC++}
while($a=~ /(GTA)/ig){$GTA++}
while($a=~ /(GTC)/ig){$GTC++}
while($a=~ /(GTG)/ig){$GTG++}
while($a=~ /(GTT)/ig){$GTT++}
while($a=~ /(GCA)/ig){$GCA++}
while($a=~ /(GCC)/ig){$GCC++}
while($a=~ /(GCG)/ig){$GCG++}
while($a=~ /(GCT)/ig){$GCT++}
while($a=~ /(GAC)/ig){$GAC++}
while($a=~ /(GAT)/ig){$GAT++}
while($a=~ /(GAA)/ig){$GAA++}
while($a=~ /(GAG)/ig){$GAG++}
while($a=~ /(GGA)/ig){$GGA++}
while($a=~ /(GGC)/ig){$GGC++}
while($a=~ /(GGG)/ig){$GGG++}
while($a=~ /(GGT)/ig){$GGT++}
print"\n No. of single letters:\n
A=$A; T=$T; G=$G; C=$C; Error=$e.\n
Length: $b.\n
No. of 3-letter words:\n
TCA=$TCA; TCC=$TCC; TCG=$TCG; TCT=$TCT; TTC=$TTC;\n
TTT=$TTT; TTA=$TTA; TTG=$TTG; TAC=$TAC; TAT=$TAT;\n
TAA=$TAA; TAG=$TAG; TGC=$TGC; TGT=$TGT; TGA=$TGA;\n
TGG=$TGG; CTA=$CTA; CTC=$CTC; CTG=$CTG; CTT=$CTT;\n
CCA=$CCA; CAT=$CAT; CAA=$CAA; CAG=$CAG; CGA=$CGA;\n
CGC=$CGC; CGG=$CGG; CGT=$CGT; ATA=$ATA; ATC=$ATC;\n
ATT=$ATT; ATG=$ATG; ACA=$ACA; ACC=$ACC; ACG=$ACG;\n
ACT=$ACT; AAC=$AAC; AAT=$AAT; AAA=$AAA; AAG=$AAG;\n
AGC=$AGC; AGT=$AGT; AGA=$AGA; AGG=$AGG; CCC=$CCC;\n
CCG=$CCG; CCT=$CCT; CAC=$CAC; GTA=$GTA; GTC=$GTC;\n
GTG=$GTG; GTT=$GTT; GCA=$GCA; GCC=$GCC; GCG=$GCG;\n
GCT=$GCT; GAC=$GAC; GAT=$GAT; GAA=$GAA; GAG=$GAG;\n
GGA=$GGA; GGC=$GGC; GGG=$GGG; GGT=$GGT.\n";
exit;
####
Results obtained (wrong):
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\ >cd desktop
C:\Users\ \Desktop>wolf.pl
No. of single letters:
A=48; T=48; G=48; C=48; Error=2.
Length: 194.
No. of 3-letter words:
TCA=4; TCC=3; TCG=2; TCT=2; TTC=2;
TTT=2; TTA=3; TTG=3; TAC=2; TAT=4;
TAA=4; TAG=3; TGC=3; TGT=2; TGA=4;
TGG=2; CTA=3; CTC=3; CTG=3; CTT=3;
CCA=2; CAT=3; CAA=3; CAG=3; CGA=3;
CGC=3; CGG=3; CGT=4; ATA=3; ATC=3;
ATT=3; ATG=3; ACA=4; ACC=1; ACG=4;
ACT=3; AAC=3; AAT=3; AAA=1; AAG=3;
AGC=3; AGT=3; AGA=3; AGG=3; CCC=1;
CCG=3; CCT=3; CAC=3; GTA=4; GTC=2;
GTG=2; GTT=2; GCA=2; GCC=4; GCG=4;
GCT=4; GAC=4; GAT=2; GAA=2; GAG=3;
GGA=1; GGC=5; GGG=2; GGT=2.
####
Correct Results should be like this:
No. of single letters:
A=48; T=48; G=48; C=48; Error=2.
Length: 194.
No. of 3-letter words:
TCA=1; TCC=1; TCG=1; TCT=1; TTC=1;
TTT=1; TTA=1; TTG=1; TAC=1; TAT=1;
TAA=1; TAG=1; TGC=1; TGT=1; TGA=1;
TGG=1; CTA=1; CTC=1; CTG=1; CTT=1;
CCA=1; CAT=1; CAA=1; CAG=1; CGA=1;
CGC=1; CGG=1; CGT=1; ATA=1; ATC=1;
ATT=1; ATG=1; ACA=1; ACC=1; ACG=1;
ACT=1; AAC=1; AAT=1; AAA=1; AAG=1;
AGC=1; AGT=1; AGA=1; AGG=1; CCC=1;
CCG=1; CCT=1; CAC=1; GTA=1; GTC=1;
GTG=1; GTT=1; GCA=1; GCC=1; GCG=1;
GCT=1; GAC=1; GAT=1; GAA=1; GAG=1;
GGA=1; GGC=1; GGG=1; GGT=1.