[Cascavel-pm] sequências de dados

Flavio Bei flaviobei em gmail.com
Quarta Setembro 5 08:59:44 PDT 2007


ae pessoal, blz? to com o seguinte problema...

o código a seguir abre um txt e faz algumas verificações, pra testar a
consistencia do mesmo, está funcionando de boa, mas preciso de uma
função a mais, que não consigo achar um jeito de fazer, hj ele está
assim:
isso é uma parte do meio, to usando strict e warnings...

o arquivo é + - assim
H445090    - informações do header
P009988373xxxxxnome.......  - informações do cliente
I97934857985755454             - informações dos pedidos do cliente
(vários I por cliente)
I97934857985755454
I97934857985755454
I97934857985755454
P009988373xxxxxnome.......
I97934857985755454
I97934857985755454
T0000000200000006     - informações sobre o número de clientes e pedidos

hoje eu só pego o número de clientes e confiro com o trailer da ultima
linha, se bater, processo o arquivo para higienização e impressão....
mas agora inventaram que preciso também saber a quantidade de pedidos
(I) por cliente (P)... dai to tentando várias coisas, mas não consigo
relacionar as linhas I com o cliente da linha P acima.... alguma
sugestão?

#=================================================
opendir( DIR, $caminho ) || die "Não pude abrir o diretorio $!\n";
my @files = readdir( DIR );
closedir( DIR );

        foreach( @files ){
        $f =  $_;
        my $completo = $caminho.$f;
        my $extensao = substr($f, -3,3);
        my $trailer = ();
        my $contador = ();

      if ($extensao eq ".ok"){
      open($arquivo, $completo);

      while ($linha = <$arquivo>) {

      #verifica o tipo da linha pelo primeiro caractere (P - cliente,
I - item, T - trailer)
      $tipo = substr $linha, 0, 1;
    				  			
        if ($tipo eq "P"){
        my $nome = substr($linha, 11,49);
        $contador->{$f} ++;
        }elsif ($tipo eq "T"){
        $trailer->{$f} = substr($linha, 1, 8);
        }
      }
			
     if ($contador->{$f} == $trailer->{$f}){.....
    #se verificar o trailer e o número de registros lidos forem iguais
 daqui pra frente blz...-
#=================================================
-- 
--
Flávio Bei
Webdesigner
(11) 8964 5315


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