<div>Mantovanni,</div><div><br></div><div>Esse lance de 'caipira' 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 'map' é só outra maneira de escrever um loop, e isso é exatamente o que está escrito no manual...</div>
<div><br></div><div><manual_snippet></div><div><div><br></div><div> %hash = map { get_a_key_for($_) => $_ } @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></manual_snippet></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 'etiqueta' que, no geral, a comunidade gosta bastante de mencionar, chama-se Perl Best Practicies. É uma espécie de guia para praticar as chamadas 'boas práticas de programação'. Eu separei um capítulo que eu achei no google books, e acho que vale a pena você dar uma 'olhadela' :</div>
<div><br></div><div> <a href="http://books.google.com/books?id=gJf9tI2mytIC&pg=PT138&dq=Perl+Best+Practicies+-+p%C3%A1gina+116&hl=pt-BR&ei=up2TTIO4A8OC8gaV4JiRDA&sa=X&oi=book_result&ct=book-thumbnail&resnum=1&ved=0CDAQ6wEwAA#v=onepage&q&f=false">http://books.google.com/books?id=gJf9tI2mytIC&pg=PT138&dq=Perl+Best+Practicies+-+p%C3%A1gina+116&hl=pt-BR&ei=up2TTIO4A8OC8gaV4JiRDA&sa=X&oi=book_result&ct=book-thumbnail&resnum=1&ved=0CDAQ6wEwAA#v=onepage&q&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 'estranho' ...</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"><<a href="mailto:daniel.oliveira.mantovani@gmail.com">daniel.oliveira.mantovani@gmail.com</a>></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 <<a href="mailto:marciodesouzaferreira@gmail.com">marciodesouzaferreira@gmail.com</a>>:<br>
<div class="im">> escrever blocos antes da condição/repetição também evito, no máximo se forem<br>
> duas instruções.<br>
> do { } for keys %hash<br>
> EU ainda acho melhor usar "do { }" pra deixar bem explícito, pensando no<br>
> 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>
"faça BAZ para as chaves do HASH FOO"<br>
<br>
Além do que, na opção 2 você pode passar quantas instruções você<br>
quiser separando por ";". Eu acho que escrever como está na opção 2 é<br>
algo "caipira"<br>
<div><div></div><div class="h5"><br>
<br>
><br>
> Marcio Ferreira<br>
><br>
><br>
> 2010/9/17 Solli Honorio <<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>><br>
>><br>
>> realmente perl 'is your bitch', afinal fazer um 'bloco' do loop utilizando<br>
>> o delimitador de lista é coisa de fpd !!!<br>
>><br>
>> ( ) for keys %hash, funciona, mas será que realmente faz o que você quer ?<br>
>><br>
>> { } for keys %hash, não seria melhor ? Mas porquê falar que igual ao Yoda<br>
>> ? Neste caso acho que o melhor é escrever for keys %hash { }.<br>
>><br>
>> []'s<br>
>><br>
>> Solli M. Honorio<br>
>><br>
>> Em 17 de setembro de 2010 11:34, Frederico Recsky <<a href="mailto:frederico@imovlr.com">frederico@imovlr.com</a>><br>
>> escreveu:<br>
>>><br>
>>> Olá,<br>
>>><br>
>>> 2010/9/17 Solli Honorio <<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>>:<br>
>>> > eu não recomendo utilizar o for da maneira que vc fez Frederico.<br>
>>> > Funciona,<br>
>>> > mas não recomendo... mas quem sou eu para recomendar algo para alguém<br>
>>> > que<br>
>>> > tem o abigail como chefe :D !!!<br>
>>><br>
>>> porque não?<br>
>>><br>
>>> Na verdade eu estou dizendo:<br>
>>><br>
>>> rode esse metodo para todas chaves dos servidores.<br>
>>><br>
>>> É isso que eu falaria para meu estagiario, no caso a perl, uuuhh perl<br>
>>> is my bitch.<br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Frederico Recsky<br>
>>> <a href="http://fred.eti.br" target="_blank">http://fred.eti.br</a><br>
>>> _______________________________________________<br>
>>> 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>
>><br>
>><br>
>><br>
>> --<br>
>> "o animal satisfeito dorme". - Guimarães Rosa<br>
>><br>
>> _______________________________________________<br>
>> 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>
><br>
><br>
> _______________________________________________<br>
> 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>
><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>
"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."<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>