<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Desculpa, floodar, mas aqui nesse trecho<br><br> my ( @first, @second );<br>    foreach my $piece ( @pieces ) {<br>        my ( $first, $second ) = ( $piece =~ /\d{2}/g );<br><br>        push @first, $first;<br>        push @second, $second;<br>    }<br><br>se eu tenho esse arquivo<br><br>Pop<br>001,    0303 0303 0101 1011 0304<br>002,    0303 0003 0101 0410 0405<br>003,    0303 0305 0101 1013 0304<br>004,    0103 0304 0102 0207 0104<br>Gra,    0203 0304 0202 0207 0105 <br><br>como ele pega de cada linha os valores como esse<br><br> 0303 0303 0101 1011 0304<br><br>e seleciona que a cada 2 digitos primeiro é do $first e o segundo do $second.<br><br>sei que esta exatamente nessa linha<br><br>my ( $first, $second ) = ( $piece =~ /\d{2}/g );<br><br>a resposta, mas nunca teria pensado que isso era de certa forma automatico.<br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: guedes_1000@hotmail.com<br>To: rio-pm@pm.org<br>Date: Sat, 31 Mar 2012 11:34:43 +0000<br>Subject: Re: [Rio-pm] Mudando de formato<br><br>

<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">
<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Tahoma;}

</style>
<div dir="ltr">
Valeu mesmo, monges.<br>Blabos, obrigado mesmo, mas na verdade a parte que eu pedi era so a mais dificil, mas <br>por que aind atem o topo dos arquivos.<br><br>Eu to aqui tentando entender seu codigo, e fazer o meu proprio,<br>você me explicaria o que quer dizer essa linha:<br><br>say join( ' ', map { 0 + $_ } @first );<br><br><div><div id="ecxSkyDrivePlaceholder"></div>> From: blabos@gmail.com<br>> Date: Fri, 30 Mar 2012 14:18:45 -0300<br>> To: rio-pm@pm.org<br>> Subject: Re: [Rio-pm] Mudando de formato<br>> <br>> Hum,<br>> <br>> O segundo link foi colado errado. O certo seria:<br>> <br>> http://norvig.com/21-days.html<br>> <br>> 2012/3/30 Nuba Princigalli <nuba@fastmail.fm>:<br>> > Olá Aureliano,<br>> ><br>> > Você também pode levar seu problema quando fizermos o próximo hackathon +<br>> > code clinic! Agora, tanto num code clinic quanto aqui na lista, a<br>> > expectativa é que você pelo menos tente quebrar o problema antes, e peça<br>> > ajuda no que tiveHumr dificuldade.<br>> ><br>> > Esse processo de sair duma descrição em linguagem natural de um problema e<br>> > chegar numa implementação em linguagem de programação, tomando decisões de<br>> > ferramentas, paradigmas, etc. no caminho, nem sempre é trivial, e obviamente<br>> > esse "trivial" depende também da sua bagagem. Se está difícil dar o passo<br>> > largo de uma vez só, tente dar um passo intermediário, por exemplo,<br>> > escrevendo em pseudo-código, fazendo diagramas, ou qualquer outra técnica<br>> > que te ajude a organizar o pensamento.<br>> ><br>> > Acho os links que o Blabos te indicou bons pontos de partida. Também sugiro<br>> > ler e dissecar pacientemente a solução que o Blabos te enviou, até você<br>> > entender o que está acontecendo ali. Perldoc perlfunc são seus amigos, e<br>> > pode perguntar aqui também.<br>> ><br>> > Sucesso na jornada! Precisando de ajuda, estamos aqui! :)<br>> ><br>> > Nuba Princigalli<br>> ><br>> ><br>> > On Fri, Mar 30, 2012, at 12:43 PM, Blabos de Blebe wrote:<br>> ><br>> > Aureliano, querido amigão, o tio Blabos está de bom humor hoje e vai te<br>> > ajudar.<br>> ><br>> > Pelo que eu sei que você não é da área de informática, e não foi treinado<br>> > para resolver o que você está tentando resolver, ponto pra você.<br>> ><br>> > Mas pelo que eu sinto, você também não está fazendo o dever de casa. É comum<br>> > que pessoas de outras áreas, ao se deparar com programação, saiam<br>> > desesperadamente 'caçando' tutoriais sobre 'como programar da noite pro<br>> > dia'. Esquece, isso não vai acontecer.<br>> ><br>> > A sua dúvida não é um problema de linguagem, mas sim de como dar os passos<br>> > necessários para resolver o problema. Isso leva mais tempo pra aprender, do<br>> > que descobrir os comandos necessários.<br>> ><br>> > Sugiro fortemente que vc leia<br>> ><br>> > http://www.modernperlbooks.com/mt/index.html<br>> ><br>> > http://www.modernperlbooks.com/mt/index.html<br>> ><br>> > http://www.catb.org/~esr/faqs/smart-questions.html<br>> ><br>> > ...antes de continuar com qualquer código.<br>> ><br>> > Nós estaremos aqui pra te apoiar e te ajudar, mas vc ainda não sabe nem<br>> > quais são as perguntas. Não adianta a gente dar as respostas.<br>> ><br>> ><br>> > Segue abaixo um naco de código que ilustra mais ou menos como resolver esse<br>> > problema (deve ter uns erros no meio), de uma forma mais ou menos didática<br>> > (foco nos passos).<br>> ><br>> > Provavelmente os outros monges resolvem isso em menos de 50 caracteres.<br>> > Golf? :)<br>> ><br>> ><br>> > Não se assuste. Não desista. Mas comece a construir a sua casa pelo<br>> > alicerce.<br>> ><br>> ><br>> > []'s<br>> ><br>> ><br>> > <code><br>> > open my $fh, '<', 'filename' or die 'cannot open file';<br>> ><br>> > while ( my $line = <$fh> ) {<br>> >     chomp $line;<br>> >     my @pieces = split /\s+/, $line;<br>> ><br>> >     say '#' . ( 0 + $pieces[0] );<br>> ><br>> >     my ( @first, @second );<br>> >     foreach my $piece ( @pieces ) {<br>> >         my ( $first, $second ) = ( $piece =~ /\d{2}/g );<br>> ><br>> >         push @first, $first;<br>> >         push @second, $second;<br>> >     }<br>> ><br>> >     say join( ' ', map { 0 + $_ } @first );<br>> >     say join( ' ', map { 0 + $_ } @second );<br>> > }<br>> > </code><br>> ><br>> ><br>> ><br>> > On Friday, March 30, 2012, Aureliano Guedes wrote:<br>> ><br>> > Bom dia,<br>> > Monges.<br>> ><br>> > Sem enrolar muito vou ser direto na minha duvida.<br>> ><br>> > Tenho dois formatos de arquivo, no qual devo converter do primeiro formato<br>> > para o segundo,<br>> > e no BioPerl não encontro nada que me ajude.<br>> ><br>> > O primeiro formato, ou melhor, o formato de entrada segue o padrão abaixo:<br>> ><br>> > ################################<br>> > Pop #Aqui indica inicio dos dados<br>> > 001, xywz abcd ...<br>> > ... #o padrão se repete ate o final<br>> > Gra, qwer jkld ... #o ultimo individuo se chama "Gra" sempre<br>> > #essas letras são numeros e no exemplo ficara mais claro<br>> > ################################<br>> ><br>> > O segundo formato, e no caso formato de saida segue o padrão abaixo:<br>> ><br>> > ###############################<br>> > #1<br>> > x w a c<br>> > y z b d<br>> > ...<br>> > #x #x é o ultimo numero, que como não sabemos qual é deixei assim<br>> > q e j l<br>> > w r k d<br>> > ##############################<br>> ><br>> > Agora facilitarei tudo com um exemplo<br>> ><br>> > Formato de entrada, exemplo:<br>> ><br>> > #############################<br>> > Pop<br>> > 001,    0303 0303 0101 1011 0304<br>> > 002,    0303 0003 0101 0410 0405<br>> > 003,    0303 0305 0101 1013 0304<br>> > 004,    0103 0304 0102 0207 0104<br>> > Gra,    0203 0304 0202 0207 0105<br>> > #############################<br>> ><br>> > Formato de saida, exemplo:<br>> ><br>> > #############################<br>> > #1<br>> > 3 3 1 10 3<br>> > 3 3 1 11 4<br>> > #2<br>> > 3 0 1 4 4<br>> > 3 3 1 10 5<br>> > #3<br>> > 3 3 1 10 3<br>> > 3 5 1 13 4<br>> > #4<br>> > 1 3 1 2 1<br>> > 3 4 2 7 4<br>> > #5<br>> > 2 3 2 2 1<br>> > 3 4 2 7 5<br>> > ##############################<br>> ><br>> > Observem duas coisas:<br>> ><br>> > - No primeiro formato os valores estão lado a lado, e de uma coordenada para<br>> > outra<br>> > temos um espaço, as unidades sempre são 2 numeros. No segundo formato os<br>> > valores estão um em baixo do outro, logo se<br>> > temo no primeiro formato<br>> > #############################<br>> > 001,    1213 2720<br>> > #############################<br>> > vai sair<br>> > #############################<br>> > #1<br>> > 12 27<br>> > 13 20<br>> > #############################<br>> ><br>> > - Caso tenha um 0 na frente, o formato de saida elimina ele<br>> > #############################<br>> > 001,     0103 0202<br>> > [/PHP]<br>> > #############################<br>> > #1<br>> > 1 2<br>> > 3 2<br>> > #############################<br>> ><br>> ><br>> > Bem gente, toda ajuda possivel será muito bem vinda.<br>> ><br>> > Desde já, grato.<br>> ><br>> > Att,<br>> > Aureliano Guedes<br>> ><br>> > _______________________________________________<br>> > Rio-pm mailing list<br>> > Rio-pm@pm.org<br>> > http://mail.pm.org/mailman/listinfo/rio-pm<br>> ><br>> ><br>> > --<br>> > Nuba R. Princigalli nuba@pauleira.com http://pauleira.com @nprincigalli<br>> > Discipline is not an end in itself, just a means to an end. - King Crimson<br>> ><br>> > _______________________________________________<br>> > Rio-pm mailing list<br>> > Rio-pm@pm.org<br>> > http://mail.pm.org/mailman/listinfo/rio-pm<br>> _______________________________________________<br>> Rio-pm mailing list<br>> Rio-pm@pm.org<br>> http://mail.pm.org/mailman/listinfo/rio-pm<br></div>                                        </div>
<br>_______________________________________________
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm</div>                                    </div></body>
</html>