[Cascavel-pm] Programa gerar arquivo

Nelson Ferraz nferraz em gmail.com
Quarta Fevereiro 7 12:00:00 PST 2007


Luis Motta Campos wrote:
>    Parabéns pela quantidade excepcional de detalhes, Patty.
>    Você está ficando boa em fazer perguntas.

Eu ia fazer o mesmo elogio: a Patty disse o que precisava fazer, mostrou
os dados de entrada, e o que esperava na saída.

Um exemplo de pergunta bem feita!!! :D

Quanto à parte de agrupar dados... aqui vai uma sugestão, incompleta,
mas que te colocará no caminho:

#!/usr/bin/perl

use strict;
use warnings;

my %file;
while ( my $linha = <> ) {
    chomp $linha;
    next if !$linha;

    # extrai data...
    my ( $data ) = $linha =~ /^(\d+)/; # ex: 20070512

    # ...e guarda a linha completa em $file{$data}
    push @{$file{$data}}, $linha;
}

# mostra o resultado
use Data::Dumper;
print Dumper \%file;

# TO-DO: iterar sobre todas as chaves do hash
# e gerar os arquivos necessários.

__END__

Atenção: esta solução não vai funcionar se você tiver uma quantidade
muito grande de dados, pois todas as linhas são colocadas na memória.
Neste caso, seria mais sábio colocar as informações diretamente nos
arquivos no lugar do push @{...}, $linha.

[]s

Nelson


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