#!/usr/bin/perl my %table; my $ID="ID"; my $NOME='NOME'; my $CPF='CPF'; my $BRUTO='BRUTO'; my $IRRF='IRRF'; my $PREV='PREV'; my $LIQUIDO='LIQUIDO'; my $TETO='TETO'; my $MAX_COUNT=5; my $token = ''; my $count; while (<>) { if ($token eq $NOME) { #print "'".$token."'='".$NOME."'\n"; s/^\s*//; s/\s+/ /; s/\s*$//; if ($count==2) { #print 'nome = '.$_."\n"; $table{$token}='"'.$_.'"'; $token=''; } } elsif ($token eq $CPF) { s/^\s*//; s/\s+/ /; s/\s*$//; if ($count==2) { #print 'CPF = '.$_."\n"; $table{$token}='"'.$_.'"'; $token=''; } } elsif ($token eq $BRUTO) { if (/(.*)<\/td>/) { my $val = $1; $val =~ s/\.//g; $val =~ s/,/./g; #print 'Bruto = '.$val."\n"; $table{$token}=$val; $token=''; } } elsif ($token eq $IRRF) { if (/(.*)<\/td>/) { my $val = $1; $val =~ s/\.//g; $val =~ s/,/./g; #print 'IRRF = '.$val."\n"; $table{$token}=$val; $token=''; } } elsif ($token eq $PREV) { if (/(.*)<\/td>/) { my $val = $1; $val =~ s/\.//g; $val =~ s/,/./g; #print 'Previdencia = '.$val."\n"; $table{$token}=$val; $token=''; } } elsif ($token eq $LIQUIDO) { if (/(.*)<\/td>/) { my $val = $1; $val =~ s/\.//g; $val =~ s/,/./g; #print 'Liquido = '.$val."\n"; $table{$token}=$val; $token=''; } } elsif ($token eq $TETO) { if (/(.*)<\/td>/) { my $val = $1; $val =~ s/\.//g; $val =~ s/,/./g; #print 'Abate Teto = '.$val."\n"; $table{$token}=$val; $token=''; } } elsif (//) { $table{$ID} = $1; } else { $count = 0; if (/ Nome:<\/nobr> <\/td>/) { $token=$NOME; } if (/ CPF:<\/nobr> <\/td>/) { $token=$CPF; } if (/Remunera..o b.sica bruta<\/td>/) { $token=$BRUTO; } if (/IRRF \(Imposto de Renda Retido na Fonte\)<\/td>/) { $token=$IRRF; } if (/PSS\/RPGS \(Previd.ncia Oficial\)<\/td>/) { $token=$PREV; } if (//) { $token=$LIQUIDO; } if (/Abate Teto \(-\)<\/td>/) { $token=$TETO; } #template para novos tokens #if (//) { $token=$TOKEN; } } $count++; if ($count>$MAX_COUNT) { die 'ERROR'; } } for $token ($ID, $NOME, $CPF, $BRUTO, $TETO, $IRRF, $PREV, $LIQUIDO) { print $table{$token}.";"; } print "\n";