<p>sempre tem.</p>
<p>1 crie um hash com as letras A C G T como chave e 0 como valor</p>
<p>%x = ( A => 0, ... );</p>
<p>2. faca um loop sobre as chaves</p>
<p>for my $letter (keys %x){<br>
}</p>
<p>3. dentro substitua $letter pelo q vc quer.</p>
<p>to no celular... por isso ta ruim de dar um exemplo claro.</p>
<div class="gmail_quote">Em 15/07/2013 18:06, "Rafael Silveira" <<a href="mailto:dev.silveira@yahoo.com">dev.silveira@yahoo.com</a>> escreveu:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div>Boa noite mongers.</div><div><br></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">
Graças a sugestão do nosso amigo Felipe Leprevost, entrei no <a href="http://roseland.info" target="_blank">roseland.info</a> e comecei a brincar.</div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">
<br></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">O primeiro problema foi contar o número de ocorrencias numa string.</div>
<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><br></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">
Eis o código que eu utilizei.</div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><br></div><pre style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px">
<div style="padding-left:10px"><span style="color:rgb(153,153,136);font-style:italic">#!/usr/bin/env perl</span></div><div style="padding-left:10px"><br></div><div style="padding-left:10px"><span style="font-weight:bold">use</span> <span>strict</span><span>;</span></div>
<div style="padding-left:10px"><span style="font-weight:bold">use</span> <span>warnings</span><span>;</span></div><div style="padding-left:10px"><br></div><div style="padding-left:10px"><span style="color:rgb(0,134,179)">open</span> <span>IFILE</span><span>,</span> <span style="color:rgb(221,17,68)">'<'</span><span>,</span> <span style="color:rgb(221,17,68)">'../../data/string/counting.txt'</span> <span style="font-weight:bold">or</span> <span style="color:rgb(0,134,179)">die</span><span>(</span><span style="color:rgb(221,17,68)">'File not found'</span><span>);</span></div>
<div style="padding-left:10px"><br></div><div style="padding-left:10px"><span style="font-weight:bold">my</span> <span style="color:rgb(0,128,128)">@nucleotides</span> <span style="font-weight:bold">=</span> <span style="color:rgb(221,17,68)">qw(0 0 0 0)</span><span>;</span></div>
<div style="padding-left:10px"><br></div><div style="padding-left:10px"><span style="font-weight:bold">while</span> <span>(</span><span style="font-weight:bold">my</span> <span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=</span> <span style="color:rgb(0,153,38)"><IFILE></span><span>)</span> <span>{</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,134,179)">chomp</span> <span style="color:rgb(0,128,128)">$line</span><span>;</span></div><div style="padding-left:10px">  </div><div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">0</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/A/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">1</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/C/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">2</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/G/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">3</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/T/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px"><span>}</span></div><div style="padding-left:10px"><span style="color:rgb(0,134,179)">close</span> <span>IFILE</span><span>;</span></div><div style="padding-left:10px"><br></div><div style="padding-left:10px">
<span style="color:rgb(0,134,179)">open</span> <span>OFILE</span><span>,</span> <span style="color:rgb(221,17,68)">'>'</span><span>,</span> <span style="color:rgb(221,17,68)">'../../output/string/counting.txt'</span> <span style="font-weight:bold">or</span> <span style="color:rgb(0,134,179)">die</span><span>(</span><span style="color:rgb(221,17,68)">'Can\'t create file'</span><span>);</span></div>
<div style="padding-left:10px"><span style="font-weight:bold">print</span> <span>OFILE</span> <span style="color:rgb(0,134,179)">join</span><span>(</span><span style="color:rgb(221,17,68)">" "</span><span>,</span> <span style="color:rgb(0,128,128)">@nucleotides</span><span>);</span></div>
<div style="padding-left:10px"><span style="color:rgb(0,134,179)">close</span> <span>OFILE</span><span>;</span></div><div style="padding-left:10px"><span><br></span></div><div style="padding-left:10px"><span><span style="color:rgb(0,0,0);font-family:'times new roman','new york',times,serif;font-size:16px;line-height:normal;white-space:normal">O problema é que não estou satisfeito com o código na hora que eu somo o numero do ocorrencias nos indices da array:</span><br>
</span></div><div style="padding-left:10px"><span><span style="color:rgb(0,0,0);font-family:'times new roman','new york',times,serif;font-size:16px;line-height:normal;white-space:normal"><br></span></span></div>
<div style="padding-left:10px"><span><span style="color:rgb(0,0,0);font-family:'times new roman','new york',times,serif;font-size:16px;line-height:normal;white-space:normal"><pre style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px">
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">0</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/A/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">1</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/C/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">2</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/G/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px">  <span style="color:rgb(0,128,128)">$nucleotides</span><span>[</span><span style="color:rgb(0,153,153)">3</span><span>]</span> <span style="font-weight:bold">+=</span> <span>(</span><span style="color:rgb(0,128,128)">$line</span> <span style="font-weight:bold">=~</span> <span style="color:rgb(0,134,179)">tr</span><span style="color:rgb(0,153,38)">/T/g</span><span style="font-weight:bold">/</span><span>);</span></div>
<div style="padding-left:10px"><span style="color:rgb(0,0,0);font-family:'times new roman','new york',times,serif;font-size:16px;line-height:normal;white-space:normal"><br></span></div><div style="padding-left:10px">
<span style="color:rgb(0,0,0);font-family:'times new roman','new york',times,serif;font-size:16px;line-height:normal;white-space:normal">Existe uma forma melhor para fazer isso em uma linha?</span></div><div style="padding-left:10px">
<span style="color:rgb(0,0,0);font-family:'times new roman','new york',times,serif;font-size:16px;line-height:normal;white-space:normal"><br></span></div><div style="padding-left:10px"><span>[]'s</span></div>
</pre></span></span></div></pre></div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div>