<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Olá amigos,<br><br>Agradeço a todos pela resposta.<br><br><br>Renato, se eu utilizar o push de uma array conforme o código abaixo, da forma que está eu consigo alterar a pontuação de um frase dinamicamente? Por exemplo...<br><br>Após eu colocar todas as frases e suas respectivas pontuações (que no início estarão todas com as pontuações zeradas), farei o seguinte:<br><br>Minha frase (minha linha) que casar com minha expressão regular, irei chamá-lo de minha linha atual, e irei verificar a linha anterior (linhaatual -1) e posterior (linhaatual +1) para casar com outra expressão regular, que dependendo de cada regr, e esta pontuação poderá ser alterada, quando a frase for comparada com outras 2 frases (anterior e posterior a ela).<br><br>Dessa forma que está (utilizando hash) eu consigo fazer isso posteriormente?<br><br>Ah! E este arquivo de
 frases não chega a 1MB.<br><br>Obrigada<br><br>Juliana<br><br><br><br>--- Em <b>ter, 7/12/10, Renato Santos <i>&lt;renato.cron@gmail.com&gt;</i></b> escreveu:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Renato Santos &lt;renato.cron@gmail.com&gt;<br>Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões<br>Para: saopaulo-pm@mail.pm.org<br>Data: Terça-feira, 7 de Dezembro de 2010, 6:51<br><br><div id="yiv2112057583">Amigo,<div>em perl, seria bem mais&nbsp;interessante&nbsp;você utilizar um HASH (ou como eu sou viciado, HASHREF)<br><br></div><div>Hash é uma lista, mas no lugar de indexs, você tem strings.</div><div>Por exemplo:</div><div>$foo = {</div>

<div>&nbsp;&nbsp; eu_sou_uma_chave =&gt; 'eu_sou_o_valor'</div><div>};</div><div><br></div><div>Então, voce pode utilizar-se do push de uma array, monta assim, uma array de hash:</div><div><br></div><div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">open(my $frases, "set.txt") or die "Nao foi possivel abrir o arquivo: $!";<br>

<br>my @vetor = ();<br>my $pontuacao=0;<br><br><br>while (my $linha = &lt;$frases&gt;) {</span></div><div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">&nbsp;&nbsp;</span><span class="yiv2112057583Apple-style-span" style="font-family: monospace; font-size: 13px; white-space: pre;">chomp(</span><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">$linha); # tira o fim de linha&nbsp;</span></div>

<div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">&nbsp;&nbsp;push(@vetor, {</span></div><div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">&nbsp;&nbsp; &nbsp;linha =&gt; $linha,</span></div>

<div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">&nbsp;&nbsp; &nbsp;num_linha =&gt; $.,</span></div><div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">&nbsp;&nbsp; &nbsp;pontuacao =&gt; $pontuacao</span></div>

<div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">&nbsp;&nbsp;}); # se vc nao passar linha, vai pro $_<br>}<br><br></span></div><div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;"># aqui talvez tenha um codigo que vai mudar a pontuacao, correto? pois a pontuacao de todos esta zerada!<br>

<br></span></div><div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;"># e aqui mostra na tela<br>for my $item (@vetor){<br>&nbsp;&nbsp; &nbsp; print "$item-&gt;{num_linha}:&nbsp;</span><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">$item-&gt;{linha} -&nbsp;</span><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">$item-&gt;{pontuacao}</span><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;">\n";</span></div>

<div><span class="yiv2112057583Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px;"><br>}</span></div><div><br></div><div>----------------------------</div><div>Minhas considerações:</div><div>você não deve sempre ler um arquivo e jogar numa array,</div>

<div>se for fazer isso, você acaba jogando todo o arquivo na memoria, e</div><div>se o arquivo tiver uns 100~ &nbsp;300 mb isso não é muito legal!</div><div><br></div><div><br><div class="yiv2112057583gmail_quote">2010/12/7 Juliana <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:julianalduque@yahoo.com.br" target="_blank" href="/mc/compose?to=julianalduque@yahoo.com.br">julianalduque@yahoo.com.br</a>&gt;</span><br>

<blockquote class="yiv2112057583gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font: inherit;" valign="top">Olá amigos da lista,<br>

<br>Estou com dificuldade em implementar um código utilizando um vetor com 2 dimensões.<br><br>Poderiam me dar uma dica de onde está o erro?<br>O código segue abaixo:<br><br><br>#abre arquivo de frases, uma frase por linha: frase1: xxxx; frase2: yyyyyy; frase3: zzzzz<br>

open(my $frases, "set.txt") or die "Nao foi possivel abrir o arquivo: $!";<br><br><br>my @vetor=$frases;<br>my $pontuacao=0;<br>my $i=0;<br><br>#insiro a frase a pontuacao em um vetor de duas dimensoes: posicao frase e posicao pontuacao<br>

while (&lt;$frases&gt;) {<br>$vetor[$i] = [$frases, $pontuacao];<br>$i++;<br>}<br><br>#imprimir todas as frases seguido de sua pontuacao : print $vetor-&gt;[$i], "=", $vetor-&gt;[$i], "\n"; ????<br>for my $vetor (@vetor){<br>

print $vetor-&gt;[0], "=", $vetor-&gt;[1], "\n";<br><br>}<br><br>Aguardo
 contato.<br><br>Obrigada!<br><br>Abraços<br>Juliana<br><br></td></tr></tbody></table><br>



      &nbsp;<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a rel="nofollow" ymailto="mailto:SaoPaulo-pm@pm.org" target="_blank" href="/mc/compose?to=SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a rel="nofollow" target="_blank" href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>Renato Santos<br><a rel="nofollow" target="_blank" href="http://www.renatocron.com/blog/">http://www.renatocron.com/blog/</a><br>


</div>
</div><br>-----Anexo incorporado-----<br><br><div class="plainMail">_______________________________________________<br>SaoPaulo-pm mailing list<br><a ymailto="mailto:SaoPaulo-pm@pm.org" href="/mc/compose?to=SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a></div></blockquote></td></tr></table><br>



      &nbsp;