[Cascavel-pm] Programa gerar arquivo

Patty Silva ptfzs em yahoo.com.br
Sexta Fevereiro 9 02:27:30 PST 2007


Ola Pessoal :)
Essa solucao funcionou perfeitamente.. 
Obrigada a todos :)

André Garcia Carneiro <andre.garcia.carneir em terra.com.br> escreveu: Patty,

Segue a minha sugestão...

use strict;
use warnings;
use Data::Dumper;


my (@line, em line2);
# @line conterá as linhas do arquivo de entrada file.csv
# @line2 conterá as linhas do arquivo de saída file2.csv

# Abrindo o arquivo de entrada file.csv
# Talvez alguns membros da lista digam que seria usar o open de três parâmetros, mas eu pessoalmente acho que
você não terá problemas com o de dois.
open FILE,"file.csv" or die "$!"; #arquivo de origem

# Criando o arquivo de saída file2.csv. Cuidado! Nesse caso, toda vez que o programa roda essa linha, um novo
arquivo será gerado. Se você quiser manter os dados no mesmo arquivo, deve substituir > por >>
open FILE2,">file2.csv" or die "$!"; #arquivo csv filtrado

while()
{
     @line = split /\,/,$_;
     if($line[2] eq 'UL') #supondo que o flag nunca muda de posição no arquivo file.csv
     {
           push @line2, {DATA => $line[0],NOME => $line[1], FLAG => $line[2], VARIAVEL => $line[3]}; # Só para
o caso de você querer utilizar esses dados depois.
            print FILE2 "$line[0],$line[1],$line[2],$line[3]\n";
      }
}

close FILE2;
close FILE;
print Dumper @line; #Veja como fica a estrutura criada em @line2
exit;
#Fim do script

Lembrando que existem maneiras muito mais elegantes de se fazer. Você pode, por exemplo, usar Class::CSV. 

Cheers!

--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org

_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm


 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070209/122ac4bd/attachment.html 


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