<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> 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 <breno@rio.pm.org><br><b><span style="font-weight: bold;">Para:</span></b> Cascavel Perl Mongers <cascavel-pm@pm.org><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 <<a ymailto="mailto:general_andrade@yahoo.com.br" href="mailto:general_andrade@yahoo.com.br">general_andrade@yahoo.com.br</a>>:<br><br>E ai, Leonardo, alguma atualização no problema?<br><br>Além do que o Diogo falou, umas dicas:<br><br>> Olá pessoal; * 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> use strict;<br> use warnings;<br> 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>> Funciona assim, tenho dois arquivos ordenados, um com 3 colunas(arquivo<br>> de análise), ele possui várias linhas com a primeira coluna igual e o<br>> segundo arquivo(arquivo de comparação) que possui uma coluna apenas com uma<br>> 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>> Então eu leio
cada linha de ambos os arquivos e comparo, caso sejam<br>> iguais eu conto os valores das colunas 2 e 3 do arquivo1, caso diferentes eu<br>> 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>> O código da função responsável por essa parte está assim após essa<br>> alterção que expliquei que preciso fazer, mas não funciona. Alguém pode me<br>> dar uma luz?<br><br>* "mas não funciona" não ajuda a gente a te ajudar. Você tem q deixar claro:<br><br> - que dados vc está recebendo;<br> - o que exatamente quer fazer com eles;<br> - como está fazendo (código! isso vc mostrou)<br> - o que deveria aparecer depois do processamento<br> - 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> > perl -dNYTProf meuprog.pl<br><br>Mais informações aqui:<br> <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>
</body></html>