<!--/*SC*/DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"/*EC*/-->
<html><head><title></title><style type="text/css"><!-- body{padding:1ex;margin:0;font-family:sans-serif;font-size:small}a[href]{color:-moz-hyperlinktext!important;text-decoration:-moz-anchor-decoration}blockquote{margin:0;border-left:2px solid #144fae;padding-left:1em}blockquote blockquote{border-color:#006312}blockquote blockquote blockquote{border-color:#540000} --></style></head><body><div style="font-family: Arial; font-size: medium;" dir="ltr"><div class="defangedMessage">
        <div id="me35077">
                <div>
                        Olá Aureliano,</div>
                <div>
                         </div>
                <div>
                        Você também pode levar seu problema quando fizermos o próximo hackathon + code clinic! Agora, tanto num code clinic quanto aqui na lista, a expectativa é que você pelo menos tente quebrar o problema antes, e peça ajuda no que tiver dificuldade.</div>
                <div>
                         </div>
                <div>
                        Esse processo de sair duma descrição em linguagem natural de um problema e chegar numa implementação em linguagem de programação, tomando decisões de ferramentas, paradigmas, etc. no caminho, nem sempre é trivial, e obviamente esse "trivial" depende também da sua bagagem. Se está difícil dar o passo largo de uma vez só, tente dar um passo intermediário, por exemplo, escrevendo em pseudo-código, fazendo diagramas, ou qualquer outra técnica que te ajude a organizar o pensamento.</div>
                <div>
                         </div>
                <div>
                        Acho os links que o Blabos te indicou bons pontos de partida. Também sugiro ler e dissecar pacientemente a solução que o Blabos te enviou, até você entender o que está acontecendo ali. Perldoc perlfunc são seus amigos, e pode perguntar aqui também.</div>
                <div>
                         </div>
                <div>
                        Sucesso na jornada! Precisando de ajuda, estamos aqui! :)</div>
                <div>
                         </div>
                <div>
                        Nuba Princigalli</div>
                <div>
                         </div>
                <div>
                         </div>
                <div>
                        On Fri, Mar 30, 2012, at 12:43 PM, Blabos de Blebe wrote:</div>
                <blockquote class="me35077QuoteMessage" type="cite">
                        <div>
                                Aureliano, querido amigão, o tio Blabos está de bom humor hoje e vai te ajudar.</div>
                        <div>
                                 </div>
                        <div>
                                Pelo que eu sei que você não é da área de informática, e não foi treinado para resolver o que você está tentando resolver, ponto pra você.</div>
                        <div>
                                 </div>
                        <div>
                                Mas pelo que eu sinto, você também não está fazendo o dever de casa. É comum que pessoas de outras áreas, ao se deparar com programação, saiam desesperadamente 'caçando' tutoriais sobre 'como programar da noite pro dia'. Esquece, isso não vai acontecer.</div>
                        <div>
                                 </div>
                        <div>
                                A sua dúvida não é um problema de linguagem, mas sim de como dar os passos necessários para resolver o problema. Isso leva mais tempo pra aprender, do que descobrir os comandos necessários.</div>
                        <div>
                                 </div>
                        <div>
                                Sugiro fortemente que vc leia</div>
                        <div>
                                 </div>
                        <div>
                                <a href="http://www.modernperlbooks.com/mt/index.html">http://www.modernperlbooks.com/mt/index.html</a></div>
                        <div>
                                 </div>
                        <div>
                                <a href="http://www.modernperlbooks.com/mt/index.html">http://www.modernperlbooks.com/mt/index.html</a></div>
                        <div>
                                 </div>
                        <div>
                                <a href="http://www.catb.org/~esr/faqs/smart-questions.html">http://www.catb.org/~esr/faqs/smart-questions.html</a></div>
                        <div>
                                 </div>
                        <div>
                                ...antes de continuar com qualquer código.</div>
                        <div>
                                 </div>
                        <div>
                                Nós estaremos aqui pra te apoiar e te ajudar, mas vc ainda não sabe nem quais são as perguntas. Não adianta a gente dar as respostas.</div>
                        <div>
                                 </div>
                        <div>
                                 </div>
                        <div>
                                Segue abaixo um naco de código que ilustra mais ou menos como resolver esse problema (deve ter uns erros no meio), de uma forma mais ou menos didática (foco nos passos).</div>
                        <div>
                                 </div>
                        <div>
                                Provavelmente os outros monges resolvem isso em menos de 50 caracteres. Golf? :)</div>
                        <div>
                                 </div>
                        <div>
                                 </div>
                        <div>
                                Não se assuste. Não desista. Mas comece a construir a sua casa pelo alicerce.</div>
                        <div>
                                 </div>
                        <div>
                                 </div>
                        <div>
                                []'s</div>
                        <div>
                                 </div>
                        <div>
                                 </div>
                        <div>
                                <code></div>
                        open my $fh, '<', 'filename' or die 'cannot open file';
                        <div>
                                <div>
                                         </div>
                                <div>
                                        while ( my $line = <$fh> ) {</div>
                                <div>
                                            chomp $line;</div>
                                <div>
                                            my @pieces = split /\s+/, $line;</div>
                                <div>
                                         </div>
                                <div>
                                            say '#' . ( 0 + $pieces[0] );</div>
                                <div>
                                            </div>
                                <div>
                                            my ( @first, @second );</div>
                                <div>
                                            foreach my $piece ( @pieces ) {</div>
                                <div>
                                                my ( $first, $second ) = ( $piece =~ /\d{2}/g );</div>
                                <div>
                                         </div>
                                <div>
                                                push @first, $first;</div>
                                <div>
                                                push @second, $second;</div>
                                <div>
                                            }</div>
                                <div>
                                         </div>
                                <div>
                                            say join( ' ', map { 0 + $_ } @first );</div>
                                <div>
                                            say join( ' ', map { 0 + $_ } @second );</div>
                                <div>
                                        }</div>
                                <div>
                                        </code></div>
                                <div>
                                         </div>
                                <div>
                                            <br />
                                        <br />
                                        On Friday, March 30, 2012, Aureliano Guedes wrote:<br />
                                        <blockquote class="me35077gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                <div>
                                                        <div dir="ltr">
                                                                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 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 outra<br />
                                                                temos um espaço, as unidades sempre são 2 numeros. No segundo formato os 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</div>
                                                </div>
                                        </blockquote>
                                </div>
                        </div>
                        <div>
                                <u>_______________________________________________</u></div>
                        <div>
                                Rio-pm mailing list</div>
                        <div>
                                <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a></div>
                        <div>
                                <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a></div>
                </blockquote>
        </div>
</div>
<div>
         </div>
</div><div>--</div>
<div>Nuba R. Princigalli  <a href="mailto:nuba@pauleira.com">nuba@pauleira.com</a>  http://pauleira.com  @nprincigalli</div>
<div>Discipline is not an end in itself, just a means to an end. - King Crimson</div>
</body></html>