<div>Mantovanni,</div><div><br></div><div>Esse lance de &#39;caipira&#39; foi bem desnecessário... Uma pena, porque a sua explicação foi tão bacana... :(</div><div><br></div><div>Bom, deixa pra lá, Frederico. A função &#39;map&#39; é só outra maneira de escrever um loop, e isso é exatamente o que está escrito no manual...</div>
<div><br></div><div>&lt;manual_snippet&gt;</div><div><div><br></div><div>                %hash = map { get_a_key_for($_) =&gt; $_ } @array;</div><div><br></div><div>               is just a funny way to write</div><div><br>
</div><div>                   %hash = ();</div><div>                   foreach (@array) {</div><div>                       $hash{get_a_key_for($_)} = $_;</div><div>                   }</div></div><div><br></div><div>&lt;/manual_snippet&gt;</div>
<div><br></div><div><br></div><div><br></div><div>No entanto vale lembrar que existe algo que usamos como uma espécie de &#39;etiqueta&#39; que, no geral, a comunidade gosta bastante de mencionar, chama-se Perl Best Practicies. É uma espécie de guia para praticar as chamadas &#39;boas práticas de programação&#39;.  Eu separei um capítulo que eu achei no google books, e acho que vale a pena você dar uma &#39;olhadela&#39; :</div>
<div><br></div><div> <a href="http://books.google.com/books?id=gJf9tI2mytIC&amp;pg=PT138&amp;dq=Perl+Best+Practicies+-+p%C3%A1gina+116&amp;hl=pt-BR&amp;ei=up2TTIO4A8OC8gaV4JiRDA&amp;sa=X&amp;oi=book_result&amp;ct=book-thumbnail&amp;resnum=1&amp;ved=0CDAQ6wEwAA#v=onepage&amp;q&amp;f=false">http://books.google.com/books?id=gJf9tI2mytIC&amp;pg=PT138&amp;dq=Perl+Best+Practicies+-+p%C3%A1gina+116&amp;hl=pt-BR&amp;ei=up2TTIO4A8OC8gaV4JiRDA&amp;sa=X&amp;oi=book_result&amp;ct=book-thumbnail&amp;resnum=1&amp;ved=0CDAQ6wEwAA#v=onepage&amp;q&amp;f=false</a> </div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><div><br></div><div>Espero que isso ajude a entender porque o jeito que você usou o map ficou &#39;estranho&#39; ...</div><div><br></div><div>
<br></div><div>Outra dica boa é que você use o perlcritic, que inclusive referencia problemas que podem haver no seu código relacionando com capítulos do Perl Best Practicies. Se você usa vi ou Emacs, pode usar plug-ins e executar diretamente enquanto codifica.</div>
<div><br></div><div><br></div><div><br></div><div>Cheers!</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br>
</div><div>Cheers!</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><div><br><div class="gmail_quote">Em 17 de setembro de 2010 13:26, Daniel de Oliveira Mantovani <span dir="ltr">&lt;<a href="mailto:daniel.oliveira.mantovani@gmail.com">daniel.oliveira.mantovani@gmail.com</a>&gt;</span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">2010/9/17 Marcio Ferreira &lt;<a href="mailto:marciodesouzaferreira@gmail.com">marciodesouzaferreira@gmail.com</a>&gt;:<br>

<div class="im">&gt; escrever blocos antes da condição/repetição também evito, no máximo se forem<br>
&gt; duas instruções.<br>
&gt; do { } for keys %hash<br>
&gt; EU ainda acho melhor usar &quot;do { }&quot; pra deixar bem explícito, pensando no<br>
&gt; nosso próximo. =)<br>
<br>
</div>Na verdade existe muita diferença entre<br>
1 - {} for keys %foo<br>
e<br>
2 - do {} for keys foo%.<br>
<br>
Quando se faz a instrução número 1 só é permitido passar uma instrução<br>
para o loop, em alguns casos como,<br>
waitpid($_,0) for @pids<br>
<br>
Escrever como está na opção 2 entra no que o Shonorio falou, mesmo<br>
assim fica algo bem parecido com o inglês,<br>
&quot;faça BAZ para as chaves do HASH FOO&quot;<br>
<br>
Além do que, na opção 2 você pode passar quantas instruções você<br>
quiser separando por &quot;;&quot;. Eu acho que escrever como está na opção 2 é<br>
algo &quot;caipira&quot;<br>
<div><div></div><div class="h5"><br>
<br>
&gt;<br>
&gt; Marcio Ferreira<br>
&gt;<br>
&gt;<br>
&gt; 2010/9/17 Solli Honorio &lt;<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; realmente perl &#39;is your bitch&#39;, afinal fazer um &#39;bloco&#39; do loop utilizando<br>
&gt;&gt; o delimitador de lista é coisa de fpd !!!<br>
&gt;&gt;<br>
&gt;&gt; ( ) for keys %hash, funciona, mas será que realmente faz o que você quer ?<br>
&gt;&gt;<br>
&gt;&gt; { } for keys %hash, não seria melhor ? Mas porquê falar que igual ao Yoda<br>
&gt;&gt; ? Neste caso acho que o melhor é escrever for keys %hash { }.<br>
&gt;&gt;<br>
&gt;&gt; []&#39;s<br>
&gt;&gt;<br>
&gt;&gt; Solli M. Honorio<br>
&gt;&gt;<br>
&gt;&gt; Em 17 de setembro de 2010 11:34, Frederico Recsky &lt;<a href="mailto:frederico@imovlr.com">frederico@imovlr.com</a>&gt;<br>
&gt;&gt; escreveu:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Olá,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2010/9/17 Solli Honorio &lt;<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>&gt;:<br>
&gt;&gt;&gt; &gt; eu não recomendo utilizar o for da maneira que vc fez Frederico.<br>
&gt;&gt;&gt; &gt; Funciona,<br>
&gt;&gt;&gt; &gt; mas não recomendo... mas quem sou eu para recomendar algo para alguém<br>
&gt;&gt;&gt; &gt; que<br>
&gt;&gt;&gt; &gt; tem o abigail como chefe :D !!!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; porque não?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Na verdade eu estou dizendo:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; rode esse metodo para todas chaves dos servidores.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; É isso que eu falaria para meu estagiario, no caso a perl, uuuhh perl<br>
&gt;&gt;&gt; is my bitch.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Frederico Recsky<br>
&gt;&gt;&gt; <a href="http://fred.eti.br" target="_blank">http://fred.eti.br</a><br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; SaoPaulo-pm mailing list<br>
&gt;&gt;&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt;&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; &quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; SaoPaulo-pm mailing list<br>
&gt;&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; SaoPaulo-pm mailing list<br>
&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
</div></div><div class="im"><a href="http://www.danielmantovani.com" target="_blank">http://www.danielmantovani.com</a><br>
<br>
&quot;If you’ve never written anything thoughtful, then you’ve never had<br>
any difficult, important, or interesting thoughts. That’s the secret:<br>
people who don’t write, are people who don’t think.&quot;<br>
_______________________________________________<br>
</div><div><div></div><div class="h5">SaoPaulo-pm mailing list<br>
<a href="mailto: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><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>(11)82907780<br>
</div></div>