Eu iria colocar isto na minha resposta, mas já sei que vc (Eden) adora responder esta pergunta ... então deixei ... e estava aguardando :D<br><br>Solli M. Honório<br>ps.: Não vamos passar referencia de scalar, a menos que você precise do valor que foi alterado. Segundo, cuidado com passagem de valor por referência, pois se vc alterar o valor na função, o valor será alterado na origem também ....<br>
<br><div class="gmail_quote">Em 30 de junho de 2010 17:08, Eden Cardim <span dir="ltr"><<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
>>>>> "Gabriel" == Gabriel Blum <<a href="mailto:blum@pobox.com">blum@pobox.com</a>> writes:<br>
<br>
Gabriel> isso decorre da maneira que o perl passa parâmetros. Sugiro<br>
Gabriel> vc passar a referência, que é bem mais eficiente<br>
Gabriel> inclusive.<br>
<br>
Não é *bem* mais eficiente, só um pouco. Perl sempre faz passagem por<br>
referência implicitamente, através do array especial @_, que é um alias<br>
pra lista de argumentos, se você alterar o @_ diretamente, os argumentos<br>
originais serão modificados também. O que faz ser menos eficiente é o<br>
tipo de dados que você está passando, no caso de um hash não tem como<br>
saber em qual slot do @_ está o valor que você quer alterar, então você<br>
precisa re-mapear o hash, efetivamente criando uma "cópia rasa" dos<br>
valores, que é mais lento do que usar referências.<br>
<br>
Inclusive, acho que pra alguns casos é mais lento usar uma referência:<br>
<br>
perl -le'my @foo = qw(bar baz); sub {$_[1] = "quux"}->(@foo); print "@foo"'<br>
perl -le'my @foo = qw(bar baz); sub {$_[0]->[1] = "quux"}->(\@foo); print "@foo"'<br>
<br>
já que a segunda alternativa envolve três etapas adicionais: a<br>
criação/destruição da referência e a dereferenciação.<br>
<div><div></div><div class="h5">_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>