[SP-pm] Novidade Perl 5.10

Solli Honorio shonorio em gmail.com
Terça Novembro 20 19:40:30 PST 2007


Hummm posso tentar entender o quê rola neste código ...

>   __PERL__

... bom, aqui você coloca todo o conteúdo de um arquivo na variável, pouco
recomendável para arquivos grandes, no meu teste o 'return <$fh>;' retornava
uma mensagem de erro, deixei apenas o <$fh> e funcionou, acho que o Damian
Conway não aprovaria esta parte do código ...

>   my $text = do {
>     local $/ = undef;
>     open my $fh, '/path/to/file.txt'
>       or die $!;
>     return <$fh>;
>     # nao precisa dizer close($fh)
>   };
>
>   my %hash;
>
>   study $text; # opa! uma cerveja para quem souber o que faz isso!
>
... você esta ficando famoso em apostar cerveja e não pagar, será que
teremos que ir à Europa cobrar ?!?! Pelo o quê eu compreendi na
documentação, aqui você pede para o engine do regex avaliar a possibilidade
de criar um índice com os matches desejado, que poderá resultar em ganho de
performance. Eu não conhecia este cara, mas me parece que isto poderia
melhorar bastante o desempenho de parse dos meus longos arquivos de logs,
carregando blocos do log e efetuando o parse como vc está mostrando aqui ...

>
>   while ( my ( $campo, $que, $eu, $quero ) =

... aqui eu acho que ficaria melhor receber num array 'while ( my
@campos_que_eu_quero = ' ...

>
>     $text =~ m{ $REGEXP_AQUI }mxs ){
>
>     # Feio, muito feio! Alguem tem uma ideia melhor?

... com certeza, como pode um 'santo' escrever coisas deste tipo ? Mas antes
me explica uma coisa, o que é '$$_' ? Uma melhor alternativa seria 'for
(@campos_que_eu_quero) { push @{ $hash{ $_ } }, $$_ } }' ...

>
>     map { push @{ $hash{ $_ } }, $$_ }, qw( campo que eu quero );
>
>   }
>
>   undef $text;
>   __END__
>
>   ATENCAO: Eu escrevi isso de cabeca, por esporte e por prazer. Peco
> que uma boa alma teste o meu idioma e veja se isso funciona mesmo.
>
>   Eu respondo perguntas para quem tiver problemas para compreender o
> codigo.
>
>   Espero que isso ajude.
>   Putamplexos!
> --
> Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
> Perl fanatic evangelist, and amateur {cook, photographer}
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>


-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071121/0b5f417e/attachment.html 


Mais detalhes sobre a lista de discussão SaoPaulo-pm