http://search.cpan.org/~cjfields/BioPerl-1.6.901/Bio/Tools/SeqStats.pm
2013/7/16 Tiago Peczenyj <tiago.pecze...@gmail.com> > Sempre tem uma forma diferente: > > https://gist.github.com/anonymous/6009717 > > não quer dizer que seja melhor ou pior, basta ver se é legivel ou não. > > talvez o reduce seja ilegivel, mas se vc utilizar um map talvez fique > melhor. > > vai do seu gosto > > > 2013/7/16 Blabos de Blebe <bla...@gmail.com> > >> Opa, >> >> Duas coisas. Na verdade três. >> >> Seu código tá até bem limpo, seguindo algumas boas práticas até. >> >> ... >> >> Mas pode melhorar :) >> >> Não use bareword para descritor de arquivo, use uma variável. Para lhe >> apontar a documentação correta "I summon garu". >> >> open my $fh, '<', 'filename.txt' or die 'Cannot open'; >> >> Parêntesis em Perl são opcionais em alguns casos, sendo que usar ou não >> usar muitas vezes é questão de estilo. Em alguns outros casos são >> obrigatórios. Na dúvida, use. >> >> ... >> >> Para imprimir hash com elementos em ordem, eu gosto e usar *slice* ao >> invés de loop. >> >> my %hash = ( etc => 1, bar => 3, foo => 5) >> my @order = qw{ foo bar etc }; >> my @ordered_values = @{hash}{ @order }; ## Slice. Chaves a mais de >> propósito. >> print join( ';', @ordered_values ); >> >> Você pode usar o sort por chave: >> my @order = sort { $a cmp $b} keys %hash; >> >> Note que @order = sort { $a <=> $b} keys %hash; >> Não funciona. >> >> Ou a forma mais curta: >> @order = sort keys %hash; >> >> Ordenando por valor decrescente >> @order = sort { $hash{$b} <=> $hash{$a}} keys %hash; >> >> Novamente, @order = sort { $hash{$b} cmp $hash{$a}} keys %hash; >> Não funciona. >> >> >> ... >> >> Talvez, se o objetivo for só contar e mais nada, usar expressão regular >> pode ser mais rápido, mas como regexp está fora dos meus domínios então >> posso estar errado. >> >> Mede aí e depois conta... >> >> >> []'s >> >> >> >> 2013/7/15 Renato Santos <renato.c...@gmail.com> >> >>> Acredito que não há motivos para não utilizar o *for *nesse caso, >>> >>> até porque, não parece ter muitas outras soluções, >>> >>> se for pra deixar o codigo menor, ficará menos legivel. se for pra >>> aumentar a velocidade, você pode reescrever em alguma linguagem compilada, >>> tipo C, só que vai dar mais trabalho! >>> >>> >>> 2013/7/15 Rafael Silveira <dev.silve...@yahoo.com> >>> >>>> Boa noite Renato. >>>> >>>> Na verdade, não importa não! >>>> Mas, eu gostaria de fazer da melhor forma possível, inclusive evitar >>>> usar outro for. >>>> Estava pensando em fazer algo parecido, porém salvar num array, e >>>> mandar pro arquivo com um join(' ', $var). >>>> >>>> Mas mesmo assim utilizaria o for. >>>> >>>> Muito obrigado a todos! :D >>>> >>>> []'s >>>> >>>> =begin disclaimer >>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>> SaoPaulo-pm mailing list: SaoPaulo-pm@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> >>> >>> =begin disclaimer >>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> =end disclaimer >>> >>> >> >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> >> > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://about.me/peczenyj > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > > -- André Garcia Carneiro Software Engineer (11)982907780
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer