[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