[SP-pm] atalhos toscos
Eden Cardim
edencardim at gmail.com
Tue Oct 5 15:51:20 PDT 2010
2010/10/5 Renato Santos <renato.cron em gmail.com>:
> Tenho em mente que o
> =()=
> ou mais formatado:
> $var = () = @array
> Faz com que todo o conteudo do @array seja jogado nas variaveis
> undef,undef,... e
> quando diz que um scalar = array, ele recebe o valor dos elementos da
> array.
> Me precipito a dizer que, como o perl não esta com strict, quando você faz:
> $var = () = $ref_array
> o perl lê o $ref_array como array e joga pro (), que por sua vez é uma array
> verdadeira, e joga o valor de quantidade no $var, pois se fosse $var =
> $ref_array iria receber a associação
Na verdade, o =()= é o um "pseudo-operador", são dois operadores de
atribuição, com uma lista vazia no meio. A lista vazia serve para
forçar o contexto de lista no operador de atribuição à direita.
Atribuir a uma lista vazia resulta em um no-op, mas como o operador de
atribuição tem o efeito colateral de retornar o valor atribuído, a
lista atribuída também é passada para o segundo operador de
atribuição.
--
Eden Cardim Need help with your Catalyst or DBIx::Class project?
Code Monkey http://www.shadowcat.co.uk/catalyst/
Shadowcat Systems Ltd. Want a managed development or deployment platform?
http://blog.edencardim.com/ http://www.shadowcat.co.uk/servers/
More information about the SaoPaulo-pm
mailing list