[Cascavel-pm] Duvida

Leonardo Ruoso leonardo em ruoso.com
Sexta Agosto 1 10:07:49 PDT 2014


Em 1 de agosto de 2014 12:43, Leonardo Berbert Gomes <leoberbert em uol.com.br>
escreveu:

> Amigos,
>
> Tenho uma pequena duvida. Tenho o seguinte bloco de codigo abaixo:
>
>  while ($final = <FILE>) {
>         chomp $final;
>         if ($final =~/Min|SDFCrtInvoice/) {next}
>         if ($final =~ /Avg\|.*/){
>         $final =~s/   /;/g;
>         $final =~s/; /;/g;
>         $final =~s/  /;/g;
>         $final =~s/ \|;/;/g;
>         $final =~s/; /;/g;
>         $final =~s/\|;/;/g;
>         $final =~s/^ //g;
>         $final =~s/ /;/g;
>         my @fields = split /;/, $final;
>         my ($process, $resp_time) = @fields[0, 4];
>         print "$process -> $resp_time\n";
>         }
> }
>
> Este codigo tra o resultado abaixo:
>
>  PROC1 -> 5.70s
> PROC1 -> 7.93s
> PROC1 -> 5.56s
>  PROC2-> 85.6
>  PROC2 -> 83.1
> PROC2 -> 87.1
>
> Preciso exibir apenas a ultinha de cada processo da coluna 1. que no caso
> seria:
>
> PROC1 -> 5.56s
> PROC2 -> 87.1
>
> Alguém consegue me ajudar?
>

Usar um hash resolve, mas se forem arquivos grandes para processar valeria
refazer a sequencia de regexp como uma única regexp, eliminar inclusive a
primeira e fazê-la devidamente ancorada no início e no fim. Como sugestão,
seria legal colocar o script num gist público e colocar uma sequencia de
dados de teste/exemplo no __DATA__ [
http://perldoc.perl.org/perldata.html#Special-Literals] do arquivo para que
a ajuda possa ser efetiva. Minha suspeita é que esse loop pode ficar um
pouco mais elegante e robusto.



> Att,
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
Leonardo Ruoso
Journalist, Perl developer and business consultant
Media, UFC/2006; Telecom, IFCE/1998
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20140801/b611dfdc/attachment.html>


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