[Cascavel-pm] [Spam] Re: PrincipaisContribuidoresCascavelPM

André Garcia Carneiro andre.garcia.carneir em terra.com.br
Segunda Maio 28 04:01:18 PDT 2007


---------- Cabeçalho original -----------

De: cascavel-pm-bounces+andre.garcia.carneir=terra.com.br em pm.org
Para: "Cascavel Perl Mongers" cascavel-pm em pm.org
Cópia: 
Data: Fri, 25 May 2007 22:38:34 -0300
Assunto: [Spam] Re: [Cascavel-pm] PrincipaisContribuidoresCascavelPM

> dei uma melhorada no meu script... alguém quer me ajudar?
> 
> <code>
> #!/usr/bin/perl -w
> 
> use strict;
> use WWW::Mechanize;
> use IO::Uncompress::Gunzip;
> 
> my $m = WWW::Mechanize->new;
> my $onde = shift || "rio";
> my %hash;
> $m->get(" http://mail.pm.org/pipermail/$onde-pm/");
> my @links = $m->find_all_links( url_regex => qr#\d{4}-\w+.txt#, );
>
> for (@links) { 
>     print $_->url_abs, $/;
>     $m->get($_->url_abs);

#Evite usar 'my' dentro de iterações.

>     my $content = $m->content;
>     my $buffer

;
>     if ($_->url_abs =~ /\.gz$/) {
>        my $z = new IO::Uncompress::Gunzip \$content;
>        $z->read($buffer);
>     }
>     else {
>        $buffer = $content;
>     }
>     $buffer =~ s#<code>.*?</code>##gsm;
>     my $from;
>     for $a ( split m#$/#, $buffer ) {
>         $from = $1 if $a =~ m#^\s*From: (.+)$#;
>         if($a =~ /^\s*\(?([\w]+)\)?((:?\+|-){2})\s*(#.*)?$/) {
>             eval "\$hash{" . lc $1 . "}$2";
>             print "From: $from$/$a$/$/";
>         }
>     }
> }
> print "$_ => $hash{$_}$/" for keys %hash;
> </code>
> 
> 



--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



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