I'm trying to write a script which replaces one letter with another for nucleotide bases. e.g. A with T. when I write:
for example I want to convert this string:
AAGCTT
with:
TTCGAA
I wrote something like:
while(/(.)/g) { my $letter= uc $1; print $letter; my $len=length($letter); my $sub=""; if ($letter=="A") { $sub="T";} elsif ($letter=="T") { $sub="A";} elsif ($letter=="G") { $sub="C";} elsif ($letter=="C") { $sub="G";} print " $len\t$sub\n"; } # close while
the replacement is not correct and I get for the print out:
A 1 T A 1 T G 1 T C 1 T T 1 T T 1 T
what is happening? why is sub always T and not changing? I dont see the problem with the lines.. thanks for the help!
thanks everyone! I could figure out the problem now. Indeed the eq sign mix up was the problem, and I wasnt aware of the tr// possibility. Painful learning from sloppiness...Thanks again for the help perlmonks!
In reply to problems with converting a string character by character by cburger
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |