<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Ninguém tá afim de jogar?<div><br><div><div>Em 22/02/2011, às 14:09, Leonardo Ruoso escreveu:</div><br class="Apple-interchange-newline"><blockquote type="cite"><font color="#666666"><font size="4"><font face="garamond,serif">Ricardo,<br><br>Essa não seria a típica aplicação do perl como shell script?<br><br>Não é uma aplicação. Não faria sentido usar OO, SOA ou qualquer outro paradigma recomendado para o desenvolvimento de aplicações. <br>
<br>Não vejo equivoco nesse tipo de código como resolução para esse tipo de problema. <br><br>Vocês acredita que one line perl deveria ser abolido?<br><br clear="all"></font></font></font><font size="2"><span style="font-family: garamond,serif;">Atenciosamente, </span><br style="font-family: garamond,serif;">
<br style="font-family: garamond,serif;"><span style="font-family: garamond,serif;">Leonardo Ruoso (CE1921JP)</span><br style="font-family: garamond,serif;"><span style="font-family: garamond,serif;">
</span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><font size="1"><br style="font-family: garamond,serif;">
<a style="font-family: garamond,serif;" href="mailto:leonardo@ruoso.com" target="_blank">leonardo@ruoso.com</a><span style="font-family: garamond,serif;"> · (11) 3522-9612 · (85) 8787-0312</span><br style="font-family: garamond,serif;">
<a style="font-family: garamond,serif;" href="http://leonardo.ruoso.com/" target="_blank">http://leonardo.ruoso.com</a><span style="font-family: garamond,serif;"> · </span><a style="font-family: garamond,serif;" href="http://twitter.com/LeonardoRuoso" target="_blank">http://twitter.com/LeonardoRuoso</a><br style="font-family: garamond,serif;">
<span style="font-family: garamond,serif;"></span></font></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><font size="1"><span style="font-family: garamond,serif;"></span></font></font><font size="2"><font size="1"><span style="font-family: garamond,serif;"></span><br style="font-family: garamond,serif;">
<b style="font-family: garamond,serif;">Leonardo Ruoso </b><span style="font-family: garamond,serif;">· </span><b style="font-family: garamond,serif;"> </b><span style="font-family: garamond,serif;">Gerente de Projetos · Analista de Sistemas</span><br style="font-family: garamond,serif;">
<span style="font-family: garamond,serif;">Comunicação Social/Jornalismo - UFC/2006 · Telecomunicações - ETFCE/1998</span><br style="font-family: garamond,serif;"><b style="font-family: garamond,serif;">Internet e inovação tecnológica deste 1996</b><br style="font-family: garamond,serif;">
<span style="font-family: garamond,serif;"></span></font></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><span style="font-family: garamond,serif;"><font size="1">. . . . . . </font></span></font><font size="2"><font size="1"><span style="font-family: garamond,serif;"></span></font></font>
<br>
<br><br><div class="gmail_quote">2011/2/22 Ricardo Stock <span dir="ltr"><<a href="mailto:ricardostock@bol.com.br">ricardostock@bol.com.br</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="word-wrap: break-word;" bgcolor="#ffffff">
<div><font size="2" face="Arial">Fernando parabens pelo código.</font></div>
<div><font size="2" face="Arial"> Perfeito, lindo funcional e inelegivel para
meros humanos :-) tipica daqueles que falam que o perl é um monte de codigo
bizonho.</font></div>
<div><font size="2" face="Arial"></font> </div>
<div><font size="2" face="Arial">mas ficou lindo, Parabens.</font></div>
<div><font size="2" face="Arial"></font> </div>
<div><font size="2" face="Arial">Esse codigo vai ficar guardado na minha coleção.
:-)</font></div>
<div><font size="2" face="Arial"></font> </div><font color="#888888">
<div>Ricardo </div>
</font><blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-left: 5px; padding-right: 0px; margin-left: 5px; margin-right: 0px;"><div><div></div><div class="h5">
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- Original Message ----- </div>
<div style="background: rgb(228, 228, 228) none repeat scroll 0% 0%; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">
<b>From:</b>
<a title="fernandocorrea@gmail.com" href="mailto:fernandocorrea@gmail.com" target="_blank">Fernando Corrêa de Oliveira</a> </div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> <a title="cascavel-pm@pm.org" href="mailto:cascavel-pm@pm.org" target="_blank">Cascavel Perl Mongers</a> </div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> Tuesday, February 22, 2011 11:07
AM</div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> Re: [Cascavel-pm] Res: Res:
Acesso aleatório à arquivos</div>
<div><br></div>Não por isso!
<div><br></div>
<div>perl -F, -nale 'push @{ $pessoa{$F[0]}->{A} }, $F[1]; push @{
$pessoa{$F[0]}->{B} }, $F[2]; END{print "$_ => ", join(", ", @{
$pessoa{$_}->{A} }), "$/\t", join(", ", @{ $pessoa{$_}->{B} }), for keys
%pessoa}' arquivo.txt</div>
<div>
<div>
<div><br></div>
<div><br></div>
<div>Em 22/02/2011, às 10:58, Leonardo Gerheim escreveu:</div><br>
<blockquote type="cite"><span style="text-transform: none; text-indent: 0px; border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: medium; line-height: normal; font-size-adjust: none; font-stretch: normal; white-space: normal; letter-spacing: normal; word-spacing: 0px;">
<div>
<div style="margin: 0px; font-family: arial,helvetica,sans-serif; font-size: 10pt;">
<div style="margin: 0px;">A resposta do Fernando foi muito d+, Show de bola
mesmo.<br><br> Mas devido a forma que chegou o email para
vocês, acho que não entenderam como deveria ser a disposição das notas na
saída, porque dessa forma que vocês fizeram eu também fiz, não tão
impressionantemente em uma linha.<br> A disposição das
notas dever ser a nota A (NEGRITO) em cima na nota B (NORMAL)
assim:<br><br>INPUT:<br><br>joao,<span style="font-weight: bold;">1</span>,1<br>joao,<span style="font-weight: bold;">2</span>,1<br>joao,<span style="font-weight: bold;">1</span>,2<br>maria,<span style="font-weight: bold;">1</span>,1<br>
maria,<span style="font-weight: bold;">2</span>,1<br>maria,<span style="font-weight: bold;">1</span>,2<br><br></div>
<div style="margin: 0px; font-family: arial,helvetica,sans-serif; font-size: 10pt;">OUTPUT:<br><br>joao
=><span> </span><span style="font-weight: bold;">1</span>,<span style="font-weight: bold;">2</span>,<span style="font-weight: bold;">1</span><br>
1,1,2<br><br>maria =><span> </span><span style="font-weight: bold;">1</span>,<span style="font-weight: bold;">2</span>,<span style="font-weight: bold;">1</span><br>
1,1,2<br><br><br>
Entenderam? Por isso perguntei como faria para avançar e recuar uma
linha.<br> Vlw pela força até agora.<br><br><br>
<div style="margin: 0px; font-family: 'times new roman','new york',times,serif; font-size: 12pt;"><font size="2" face="Tahoma">
<hr size="1">
<b><span style="font-weight: bold;">De:</span></b><span> </span>Renato Santos <<a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a>><br><b><span style="font-weight: bold;">Para:</span></b><span> </span>Cascavel Perl Mongers <<a href="mailto:cascavel-pm@pm.org" target="_blank">cascavel-pm@pm.org</a>><br>
<b><span style="font-weight: bold;">Enviadas:</span></b><span> </span>Terça-feira, 22 de Fevereiro de
2011 10:40:37<br><b><span style="font-weight: bold;">Assunto:</span></b><span> </span>Re: [Cascavel-pm] Res: Acesso
aleatório à arquivos<br></font><br>Fernando, funcionou!
<blockquote style="border: medium none ; margin: 0pt 0pt 0pt 40px; padding: 0px;">
<div style="margin: 0px;">
<div style="margin: 0px;">joao => 10, 15, 10, 10, 8, 9</div></div>
<div style="margin: 0px;">
<div style="margin: 0px;">maria => 7, 9, 6, 9, 4,
10</div></div></blockquote>
<div style="margin: 0px;">
<div style="margin: 0px;"><br></div>
<div style="margin: 0px;"><br></div>
<div style="margin: 0px;">O que o perl (GOLF =P) do Fernando faz é utilizar
os argumentos do perl já dizendo que é para ler um arquivo (-n) separar por
virgula (-F,) jogando cada item da linha para a @F (-a) remove o "enter" em
cada linha (usando - l sem passar nenhum código) e o código em si, -e
.</div>
<div style="margin: 0px;"><br></div>
<div style="margin: 0px;">Coragem escrever isso no celular eim! Aja
paciencia!</div>
<div style="margin: 0px;"><br></div>
<div style="margin: 0px;"><br></div>
<div style="margin: 0px;">ps: legal o uso do END {}, nunca tinha pensando
nisso.</div><br>
<div style="margin: 0px;" class="gmail_quote">2011/2/22 Fernando Oliveira<span> </span><span dir="ltr"><<a href="mailto:fernandocorrea@gmail.com" rel="nofollow" target="_blank">fernandocorrea@gmail.com</a>></span><br>
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"><p>Não é q faltou o for?! Pq ninguem me avisou?!</p>
<div><br></div>
<div style="margin: 0px;">Em 22/02/2011 10:17, "Fernando Oliveira"
<<a href="mailto:fernandocorrea@gmail.com" rel="nofollow" target="_blank">fernandocorrea@gmail.com</a>>
escreveu:<br>><br></div>perl -F, -nale 'push @{ $pessoa{$F[0]} }, @F[1
.. $#F]; END{print "$_ => ", join ", ", @{ $pessoa{$_} } for keys
%pessoa}' arquivo.txt
<div style="margin: 0px;">
<div style="margin: 0px;"></div>
<div style="margin: 0px;"><br>><br>> Codigo escrito no cel e
não testado!<br>> GOLF?!<br>><br>> Em 22/02/2011 09:36, "Leonardo
Gerheim" <<a href="mailto:general_andrade@yahoo.com.br" rel="nofollow" target="_blank">general_andrade@yahoo.com.br</a>>
escreveu:<br>><br>> > Agradeço à todos pelas respostas. Mas
realmente não consegui me expressar,<span> </span><br>> > como coloquei um
exemplo não específico ficou realmente complicado o<span> </span><br>> > entendimento. A
minha intenção é a seguinte:<br>> > Eu quero poder movimentar dentro
do arquivo, ou seja, avançar e recuar uma<span> </span><br>> > uma linha do
arquivo.<br>> ><span> </span><br>> > ex de
INPUT:<br>> ><span> </span><br>>
> joao,10,15<br>> > joao,10,10<span> </span><br>> > joao,8,9<br>>
> maria,7,9<br>> > maria,6,9<br>> > maria,4,10<br>>
><span> </span><br>> > onde
temos respectivamente o nome do aluno a nota A e a nota B, mas
queremos<span> </span><br>> > gerar
um OUTPUT:<br>> ><span> </span><br>> > joao
10,10,8<br>> > 15,10,9<br>> > maria 7,6,4<span> </span><br>> > 9,9,10<br>>
><span> </span><br>> ><span> </span><br>> > Ou seja, uma nota
após a outra.<br>> ><span> </span><br>> > Para isso, pensei
em ler a primeira linha, imprimir as notas notas uma<span> </span><br>> > embaixo da outra,
logoa após isso teria que retornar à primneira linha para<span> </span><br>> > imprimir o segundo
conjunto de notas, enquanto o nome do aluno for o mesmo. O<span> </span><br>> > que não consegui
fazer é essa parte de movimentar dentro do arquivo, avançando e<span> </span><br>> > recuando em
arquivos que tenham registros de tamanho diferente.<br>> > Caso
existe um algoritmo mais simples por for me ajudem a montá-lo, mas de<span> </span><br>> > qualquer forma me
expliquei como avançar e recuar linhas.<br>> ><span> </span><br>> > Att.<br>>
><span> </span><br>> > P.S: A
solução do Eden na sua última resposta resolveu a última questão, eu
que<span> </span><br>> > me
expressei totalmente mal.<br>> ><span> </span><br>> ><span> </span><br>> ><span> </span><br>> ><span> </span><br>> ><span> </span><br>> ><span> </span><br>> ><span> </span><br>
> >
________________________________<br>> > De: Eden Cardim <<a href="mailto:edencardim@gmail.com" rel="nofollow" target="_blank">edencardim@gmail.com</a>><br>>
> Para: Cascavel Perl Mongers <<a href="mailto:cascavel-pm@pm.org" rel="nofollow" target="_blank">cascavel-pm@pm.org</a>><br>>
> Enviadas: Terça-feira, 22 de Fevereiro de 2011 9:04:35<br>> >
Assunto: Re: [Cascavel-pm] Acesso aleatório à arquivos<br>> ><span> </span><br>> >>>>>>
"Leonardo" == Leonardo Gerheim <<a href="mailto:general_andrade@yahoo.com.br" rel="nofollow" target="_blank">general_andrade@yahoo.com.br</a>>
writes:<br>> ><span> </span><br>> > Leonardo> Olá
pessoal, Preciso ler um arquivo e quando em uma<br>> > Leonardo>
determinada linha contiver um valor, ele pular para a<br>> >
Leonardo> próxima linha e quando encontrar um segundo valor não<br>>
> Leonardo> imprimir mais nada, como no exemplo abaixo:<br>>
><span> </span><br>> > Não ficou
claro o que você quer aqui, mostra um exemplo da entrada e da<br>> >
saída esperada.<br>> ><span> </span><br>> > Leonardo> joao-
não imprimir<br>> > Leonardo> maria- não imprimir<br>> >
Leonardo> antonio- não imprimir<br>> > Leonardo> a- não
imprimir<br>> > Leonardo> linguagem- IMPRIMIR<br>> >
Leonardo> programacao- IMPRIMIR<br>> > Leonardo> b- não
imprimir<br>> > Leonardo> elizabeth- não imprimir<br>> >
Leonardo> kenia- não imprimir<br>> ><span> </span><br>> > Isso é a entrada ou
a saída do programa?<br>> > grep não resolve?<br>> > ,----[
cat test_data ]<br>> > | joao<br>> > | maria<br>> > |
antonio<br>> > | a<br>> > | linguagem<br>> > |
programacao<br>> > | b<br>> > | elizabeth<br>> > |
kenia<br>> > `----<br>> > ,----[ cat test_data | grep
"linguagem\|programacao" ]<br>> > | linguagem<br>> > |
programacao<br>> > `----<br>> ><span> </span><br>> > Leonardo> Eu
consegui fazer um script para isso, entretanto<br>> > Leonardo>
somente consegui que ele funcione, quando o amanho dos<br>> >
Leonardo> registros são iguais. Como faço para resolver esse<br>>
> Leonardo> problema tendo um arquivo com registros de
tamnho<br>> > Leonardo> diferente?<br>> ><span> </span><br>> > Se você mostrar o
código, com um exemplo da execução, fica mais fácil te<br>> >
ajudar.<br>> ><span> </span><br>> > --<span> </span><br>> > Eden Cardim<br>>
> Software Engineer<br>> > +55 73 9986-3963<br>> ><span> </span><a href="http://edencardim.com/" rel="nofollow" target="_blank">edencardim.com</a><br>> >
_______________________________________________<br>> > Cascavel-pm
mailing list<br>> ><span> </span><a href="mailto:Cascavel-pm@pm.org" rel="nofollow" target="_blank">Cascavel-pm@pm.org</a><br>>
><span> </span><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" rel="nofollow" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>>
><span> </span><br>> ><span> </span><br>> ><span> </span><br>> ><span> </span><br></div></div>
<div><br></div><br>_______________________________________________<br>Cascavel-pm
mailing list<br><a href="mailto:Cascavel-pm@pm.org" rel="nofollow" target="_blank">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" rel="nofollow" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</blockquote></div><br><br clear="all"><br>--<span> </span><br>Renato
Santos<br><a href="http://www.renatocron.com/blog/" rel="nofollow" target="_blank">http://www.renatocron.com/blog/</a><br></div></div></div></div><br> _______________________________________________<br>Cascavel-pm
mailing list<br><a href="mailto:Cascavel-pm@pm.org" target="_blank">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a></div>
</span></blockquote></div><br>
<div><span style="text-transform: none; text-indent: 0px; border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: medium; line-height: normal; font-size-adjust: none; font-stretch: normal; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px;">Just Another Perl Hacker<br>
Fernando Corrêa de
Oliveira<br><a href="mailto:fernandocorrea@gmail.com" target="_blank">fernandocorrea@gmail.com</a></span>
</div><br></div>
</div></div><div>
<br class="webkit-block-placeholder"></div><hr><div class="im"><div><br class="webkit-block-placeholder"></div>_______________________________________________<br>Cascavel-pm mailing
list<br><a href="mailto:Cascavel-pm@pm.org" target="_blank">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a></div></blockquote>
</div>
<br>_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br>
_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>http://mail.pm.org/mailman/listinfo/cascavel-pm</blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Just Another Perl Hacker<br>Fernando Corrêa de Oliveira<br><a href="mailto:fernandocorrea@gmail.com">fernandocorrea@gmail.com</a></span>
</div>
<br></div></body></html>