[SP-pm] Melhor forma para...
Renato Santos
renato.cron at gmail.com
Mon Jul 15 15:37:26 PDT 2013
Hash não mantem ordem.
Você pode criar uma array com a ordem desejada e mandar escrever na ordem.
for my $letra_atual (qw /A C G T/) {
print OFILE $nucleotides{$letra_atual}, " ";
}
Lembrando que fazendo assim, vai ter um espaço a mais no final do arquivo,
isso importa?
2013/7/15 Rafael Silveira <dev.silveira at yahoo.com>
> Valeu Tiago.
>
> Cara, na primeira vez eu usei hash. Porém tive problemas para executar o
> counting, mas ai dei uma pesquisada e ficou assim:
>
> #!/usr/bin/env perl
>
> use strict;
> use warnings;
>
> open IFILE, '<', '../../data/string/counting.txt' or die('File not found');
>
> my %nucleotides = (
> 'A' => 0,
> 'C' => 0,
> 'G' => 0,
> 'T' => 0,
> );
>
> while (my $line = <IFILE>) {
> chomp $line;
>
> for my $letter (keys %nucleotides) {
> $nucleotides{$letter} += ( () = $line =~ /$letter/g );
> }
> }
>
> close IFILE;
>
> open OFILE, '>', '../../output/string/counting.txt' or die('Can\'t create
> file');
> print OFILE join(' ', values(%nucleotides));
> close OFILE;
>
> Porém não mantém a ordem A C G T. O Perl muda a ordem dessa lista baseado
> nas letras (a que vier primeiro) que ele encontra no arquivo?
>
> Já tentei usar sorte, e não funcionou. Desculpa galera, sou newbie demais
> em perl. E consigo aprender melhor com exemplos!
>
> []'s
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
--
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130715/58437d87/attachment.html>
More information about the SaoPaulo-pm
mailing list