[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