#!/usr/bin/perl my $w = ""; my $st = 0; while (<>) { chomp; @a = split(/=/,$_); if($a[2]) { if ($w eq $a[0]) { $rhs{$a[1]} += $a[2] ; $st=1; } else { despeja($w, %rhs) if $st == 1; %rhs=(); $rhs{$a[1]} = $a[2] ; $w = $a[0]; $st=1; } } else { despeja($w, %rhs) if $st == 1; print "$_\n"; $st = 0; $w= ""; %rhs=(); } } sub despeja { my ($p,%r)=@_; my @k = keys %r; if (scalar(@k) == 1) { print "$p=$k[0]\n"; } else { print "$p=("; my @x = (); for (sort {$r{$b} <=> $r{$a}} @k) { push @x , "$_=$r{$_}"; } print join("|",@x),")\n"; } } __END__ accounting system=sistema contabilístico accounting systems=sistemas de contabilidade accounting treatment=tratamento contabilístico accounting year=exercício contabilístico accounts=contas#S2=1280 accounts=contabilidade#S2=263 accreditation=acreditação#S1 accreditation body=organismo de acreditação accuracy=precisão#S2 acetate=acetato#S2 acetic=acético#A acetic acid=ácido acético acetic anhydride=anidrido acético acid=ácido#S2=1550 acid=ácido#A=50 acidity=acidez#S2 acids=ácidos acid solution=solução ácida acp=acp#A acp countries=países acp acp-ec=acp-ce#A acp-ec agreement=acordo acp-ce acp-ec convention=convenção acp-ce acp-eec=acp-cee#A acp-eec convention=convenção acp-cee acp-eu=acp-ue#A acp-eu cooperation=cooperação acp-ue acp-eu joint assembly=assembleia paritária acp-ue acp state=estado acp acp states=estados acp acp sugar=açúcar acp acquired=adquirido#A acquired rights=direitos adquiridos acquis=acervo#S2 acquisition=aquisição#S1 acquisition price=preço de aquisição acrylic=acrílico#A acrylic fibres=fibras acrílicas act=acto#S2=349 act=acta#S2=286 act=lei#S2=76 action=acção#S1=10673 action=actuação#S2=114 action line=linha de acção action lines=linhas de acção action plan=plano de acção action plans=planos de acção action programme=programa de acção action programmes=programas de acção actions=acções#S2 active=activo#A=2253 active=activo#A=1087 active=activo#A=311