<html><div style='background-color:'><P><BR>Obrigado mesmo... caramba ^^</P>
<P> </P>
<P>Vcs salvaram minha vida... valew pessoal.. =)</P>
<P> </P>
<P>Abração a todos</P>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #a0c6e5 2px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
<HR color=#a0c6e5 SIZE=1>
From: <I>"Eden Cardim" <edencardim@gmail.com></I><BR>Reply-To: <I>saopaulo-pm@mail.pm.org</I><BR>To: <I>saopaulo-pm@mail.pm.org</I><BR>Subject: <I>Re: [SP-pm] Leitura de arquivo - Lista</I><BR>Date: <I>Sat, 1 Jul 2006 10:31:49 -0300</I><BR>MIME-Version: <I>1.0</I><BR>Received: <I>from x6.develooper.com ([63.251.223.186]) by bay0-mc5-f2.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); Sat, 1 Jul 2006 06:32:43 -0700</I><BR>Received: <I>from x6.develooper.com (localhost.localdomain [127.0.0.1])by x6.develooper.com (Postfix) with ESMTP id 3B99E177E2for <daniel_5h4d0w@hotmail.com>; Sat, 1 Jul 2006 06:32:43 -0700 (PDT)</I><BR>Received: <I>(qmail 11583 invoked from network); 1 Jul 2006 13:32:35 -0000</I><BR>Received: <I>from x1a.develooper.com (HELO x1.develooper.com) (216.52.237.111)by lists.develooper.com with SMTP; 1 Jul 2006 13:32:35 -0000</I><BR>Received: <I>(qmail 11394
invoked by uid 225); 1 Jul 2006 13:32:35 -0000</I><BR>Received: <I>(qmail 11388 invoked by alias); 1 Jul 2006 13:32:34 -0000</I><BR>Received: <I>pass (x1.develooper.com: domain of edencardim@gmail.comdesignates 66.249.92.172 as permitted sender)</I><BR>Received: <I>from ug-out-1314.google.com (HELO ug-out-1314.google.com)(66.249.92.172) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP;Sat, 01 Jul 2006 06:31:56 -0700</I><BR>Received: <I>by ug-out-1314.google.com with SMTP id m2so532316ugefor <saopaulo-pm@mail.pm.org>; Sat, 01 Jul 2006 06:31:49 -0700 (PDT)</I><BR>Received: <I>by 10.66.243.2 with SMTP id q2mr4031217ugh;Sat, 01 Jul 2006 06:31:49 -0700 (PDT)</I><BR>Received: <I>by 10.66.239.17 with HTTP; Sat, 1 Jul 2006 06:31:49 -0700 (PDT)</I><BR>>On 6/30/06, Shadow Elf <daniel_5h4d0w@hotmail.com> wrote:<BR>> ><BR>> > Pessoal preciso da ajuda de vocês... por favor
quem puder ajudar-me ficarei<BR>> > infinitamente grato!!!<BR>> ><BR>> > Bom o caso é o seguinte:<BR>> ><BR>> > Estou desenvolvendo um projeto que gera um arquivo de saida...<BR>> ><BR>> > mais as informações desse arquivo precisam ser recuperadas...<BR>> ><BR>> > O arquivo eh mais ou menos assim<BR>> ><BR>> > User: Shadow Elf<BR>> > Number: 0040808<BR>> > Date: 30/06/2006<BR>> > Time: 10:34 pm<BR>> > Pwd: Rambo**<BR>> ><BR>> > Mais esse arquivo eh um log aleatorio ou seja... gera varias entradas em um<BR>> > mesmo arquivo...<BR>> ><BR>> > User: Chiquinha<BR>> > Number: 056456<BR>> > Date: 30/06/2006<BR>> > Time: 12:23 pm<BR>> > Pwd: 1234<BR>> ><BR>> > User: Shadow Elf<BR>> > Number: 0040808<BR>> > Date: 30/06/2006<BR>>
> Time: 10:34 pm<BR>> > Pwd: Rambo**<BR>> ><BR>> > User: Chavez<BR>> > Number: 0543513<BR>> > Date: 30/06/2006<BR>> > Time: 1:48 pm<BR>> > Pwd: barril321<BR>><BR>>Eu mudaria esse formato para algo mais simples tipo CSV:<BR>><BR>>Chiquinha, 056456, 30/06/2006, 12:23 pm, 1234<BR>>Shadow Elf, 0040808, 30/06/2006, 10:34 pm, Rambo**<BR>>Chavez, 0543513, 30/06/2006, 1:48 pm, barril321<BR>><BR>>Continua legível, economiza espaço em disco, processamento e algumas<BR>>dores de cabeça futuras.<BR>><BR>> > Tenho que fazer o programa recuperar a partir de uma entrada... ou seja<BR>> > quando eu digitar: Shadow Elf<BR>> > o programa tera que ler a linha: User: Shadow Elf e mais 4 linhas<BR>> > abaixo... no caso o resto das informações<BR>> > deste usuario...<BR>><BR>>Como é um log, presumo
que o mesmo usuário pode ter várias entradas no<BR>>arquivo, então o código ficaria assim (com o formato de dados que eu<BR>>propus):<BR>><code><BR>>my $search_user = shift;<BR>><BR>>my @fields = qw(Number Date Time Pwd);<BR>>my @entries = map {<BR>> my %entry;<BR>> if(/^$search_user/) {<BR>> (undef, @entry{@fields}) = split /\s*,\s*/;<BR>> \%entry;<BR>> } else { () }<BR>>} <DATA>;<BR>><BR>>print "Busca por usuário $search_user retornou:\n";<BR>>foreach my $entry (@entries) {<BR>> print "$_:\t$entry->{$_}\n" foreach @fields;<BR>> print "\n";<BR>>}<BR>></code><BR>><BR>>__DATA__<BR>>Chiquinha, 056456, 30/06/2006, 12:23 pm, 1234<BR>>Shadow Elf, 0040808, 30/06/2006, 10:34 pm, Rambo**<BR>>Chavez, 0543513, 30/06/2006, 1:48 pm, barril321<BR>><BR>>Fora que já existem vários módulos no cpan para
parsear e fazer busca<BR>>em arquivos CSV.<BR>>_______________________________________________<BR>>SaoPaulo-pm mailing list<BR>>SaoPaulo-pm@pm.org<BR>>http://mail.pm.org/mailman/listinfo/saopaulo-pm<BR></FONT></BLOCKQUOTE></div><br clear=all><hr>DOWNLOAD: Emoticons animados 'Copa 2006' para usar no MSN <a href="http://g.msn.com/8HMBBRBR/2737??PS=47575" target="_top">Clique aqui</a> </html>