<div dir="ltr">Como o Gabriel sugeriu, File::Tail resolve teu problema numa boa. Eu tenho um script aqui que lê um log e mostra o que preciso, e ainda mostra os resultados coloridos.<br><br>#!/usr/bin/perl<br><br>use strict;<br>
use warnings;<br><br>$| = 1;<br>use Term::ANSIColor;<br>use File::Tail;<br><br>my $file = File::Tail->new(name => shift(@ARGV), maxinterval => 5);<br>while (my $line = $file->read)<br>{<br>    chomp $line;<br>
    my @p = split /,/, $line;<br>    my $time = $p[0];<br>    my $referer = $p[6] or undef;<br><br>    if ($referer)<br>    {<br>#        print "Verificando: $referer\n";<br>        my ($dummy, $q) = $referer =~ m/(&|\?)q=(.*?)(&|$)/;<br>
        next unless $q;<br><br>        $q =~ s/\+/ /g;<br>        $q =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;<br><br>        print "$time ";<br>        print color ($referer =~ /sitesearch/ ? 'yellow' : 'green');<br>
        print "$q";<br>        print color 'reset';<br>        print "\n";<br>    }<br>}<br>~<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 16 de junho de 2013 22:55, Gabriel Vieira <span dir="ltr"><<a href="mailto:gabriel.vieira@gmail.com" target="_blank">gabriel.vieira@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="https://metacpan.org/module/MGRABNAR/File-Tail-0.99.3/Tail.pm" target="_blank">https://metacpan.org/module/MGRABNAR/File-Tail-0.99.3/Tail.pm</a><br>

<br>
2013/6/16 Marcio - Google <<a href="mailto:marciorp@gmail.com">marciorp@gmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> Salve Mestres!<br>
><br>
> Estou tentando fazer uma coisa que deve ser trivial, mas estou patinando.<br>
><br>
> Quero monitorar um arquivo de log e procurar uma determinada cadeia de<br>
> caracteres apenas nas linhas que foram adicionadas após a última varredura.<br>
><br>
> Hoje eu fico dentro de um loop abrindo e fechando o arquivo. A cada vez que<br>
> abro procuro a cadeia e se encontro mostro no terminal.<br>
><br>
> Não estou satisfeito com a solução. Queria que o script "percebesse" toda<br>
> vez que fosse adicionado linha no final do arquivo e procurasse a cadeia<br>
> somente nas linhas que foram adicionadas.<br>
><br>
> O que quero é +- o que o "tail -F arquivo.log" faz.<br>
><br>
> Quando acho a cadeia em uma determinada linha, preciso imprimir cinco<br>
> linhas, sendo duas antes da linha que encontrei, a linha que encontrei e<br>
> duas linhas após.<br>
><br>
> Qual a forma mais eficiente de fazer isso?<br>
><br>
> [...]'s<br>
><br>
> Marcio<br>
><br>
> ========================================<br>
> ########### Campanha Ajude o Marcio! ###########<br>
> <a href="http://sosmarcio.blogspot.com.br/" target="_blank">http://sosmarcio.blogspot.com.br/</a><br>
> <a href="http://www.vakinha.com.br/VaquinhaP.aspx?e=195793" target="_blank">http://www.vakinha.com.br/VaquinhaP.aspx?e=195793</a><br>
> ========================================<br>
><br>
</div></div><div class="im HOEnZb">> =begin disclaimer<br>
>    Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
> =end disclaimer<br>
><br>
<br>
<br>
<br>
--<br>
</div><span class="HOEnZb"><font color="#888888">Gabriel Vieira<br>
</font></span><div class="HOEnZb"><div class="h5">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</div></div></blockquote></div><br></div>