<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div>Diz aí pessoal;<br><br>&nbsp;&nbsp;&nbsp; Eu consegui resolver o problema sim, as dicas de vocês aqui foram de suma importância. E Breno, e outros que me lembraram disso também, a inserção no cabeçalho dos módulos warnings, strict e principalmente do diagnostics (esse é basicamente um professor particular) kkk.<br><br>um abraço a todos que me ajudaram.<br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">De:</span></b> breno &lt;breno@rio.pm.org&gt;<br><b><span style="font-weight: bold;">Para:</span></b> Cascavel Perl Mongers &lt;cascavel-pm@pm.org&gt;<br><b><span style="font-weight: bold;">Enviadas:</span></b>
 Sábado, 1 de Maio de 2010 15:06:33<br><b><span style="font-weight: bold;">Assunto:</span></b> Re: [Cascavel-pm] Balance Line<br></font><br>2010/4/21 Leonardo Gerheim &lt;<a ymailto="mailto:general_andrade@yahoo.com.br" href="mailto:general_andrade@yahoo.com.br">general_andrade@yahoo.com.br</a>&gt;:<br><br>E ai, Leonardo, alguma atualização no problema?<br><br>Além do que o Diogo falou, umas dicas:<br><br>&gt; Olá pessoal;&nbsp; * Sou iniciante em Perl<br><br>* vc disse ser iniciante em Perl. Nesse caso, recomendo colocar o<br>seguinte cabeçalho no topo de seus programas:<br><br>&nbsp; use strict;<br>&nbsp; use warnings;<br>&nbsp; use diagnostics;<br><br>isso vai exigir que você declare variáveis ao usá-las pela primeira<br>vez, além de pegar alguns erros (e alertas) de execução. O<br>"diagnostics" exibe junto com o warning uma descrição do problema,<br>possiveis causas e soluções. Depois que seu programa estiver<br>executando sem
 warnings, pode remover o "use diagnostics" - mas deixe<br>o resto do cabeçalho.<br><br>&gt; &nbsp;&nbsp;&nbsp; Funciona assim, tenho dois arquivos ordenados, um com 3 colunas(arquivo<br>&gt; de análise), ele possui várias linhas com a primeira coluna igual e o<br>&gt; segundo arquivo(arquivo de comparação) que possui uma coluna apenas com uma<br>&gt; incidência apenas da coluna do primeiro arquivo.<br><br>* em vez de dar uma descrição do que cada arquivo contém, que tal um<br>pequeno exemplo? Pelo que entendi, é assim:<br><br> (arquivo1 - análise)<br>AAAAAAAAAA BBBBBBBBBBB CCCCCCCCCC<br>AAAAAAAAAA DDDDDDDDDDD EEEEEEEEEE<br>AAAAAAAAAA FFFFFFFFFFFF GGGGGGGGG<br>XXXXXXXXXXXXX YYYYYYYYYYY WWWWWWW<br>XXXXXXXXXXXXX VVVVVVVVVVV ZZZZZZZZZZZZZ<br><br>(arquivo2 - comparacao)<br>AAAAAAAAAA<br>JJJJJJJJJJJJJJJ<br><br>As colunas tem tamanho fixo? O separador é um espaço? Sempre tem pelo<br>menos 1 espaço?<br><br>&gt; &nbsp;&nbsp;&nbsp; Então eu leio
 cada linha de ambos os arquivos e comparo, caso sejam<br>&gt; iguais eu conto os valores das colunas 2 e 3 do arquivo1, caso diferentes eu<br>&gt; pego a próxima linha do arquivo de comparação.<br><br>O que você quer dizer com "conto os valores das colunas 2 e 3"? São<br>números? Você conta o número de ocorrências de cada entrada?<br><br>&gt; &nbsp;&nbsp;&nbsp; O código da função responsável por essa parte está assim após essa<br>&gt; alterção que expliquei que preciso fazer, mas não funciona. Alguém pode me<br>&gt; dar uma luz?<br><br>* "mas não funciona" não ajuda a gente a te ajudar. Você tem q deixar claro:<br><br>&nbsp;  - que dados vc está recebendo;<br>&nbsp;  - o que exatamente quer fazer com eles;<br>&nbsp;  - como está fazendo (código! isso vc mostrou)<br>&nbsp;  - o que deveria aparecer depois do processamento<br>&nbsp;  - o que apareceu em vez do que vc queria<br><br>Lembre-se que as pessoas da lista querem te
 ajudar, mas não estão<br>dentro do seu trabalho pra entender o problema ou olhar pro seu<br>terminal e ver o que há de errado :-)<br><br>Finalmente, vc mencionou um problema de desempenho. Fazer operações de<br>I/O, como ler arquivos, realmente é bastante custoso, mas tem certeza<br>que o gargalo do seu programa está nisso? Ou apenas nisso? Evite<br>otimizações cedo demais, mas uma vez que seu programa está pronto e o<br>desempenho está deixando a desejar, experimente rodar um code profiler<br>nele, como o Devel::NYTProf. Para isso, instale o Devel::NYTProf do<br>CPAN e chame seu programa passando para o perl a opção "-dNYTProf":<br><br> &gt; perl -dNYTProf meuprog.pl<br><br>Mais informações aqui:<br>&nbsp; &nbsp; <a href="http://search.cpan.org/perldoc?Devel::NYTProf" target="_blank">http://search.cpan.org/perldoc?Devel::NYTProf</a><br><br>Boa sorte!<br><br>[]s<br><br>-b<br>_______________________________________________<br>Cascavel-pm
 mailing list<br><a ymailto="mailto:Cascavel-pm@pm.org" 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></div></div>
</div><br>



      &nbsp;</body></html>