Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: &&= vivify keys?

by Eliya (Vicar)
on Apr 18, 2012 at 09:06 UTC ( #965678=note: print w/ replies, xml ) Need Help??


in reply to &&= vivify keys?

$x{a} &&= 1; is effectively the same as

$x{a} = $x{a} && 1;

which is in this case

$x{a} = undef && 1;

which is

$x{a} = undef;

Replies are listed 'Best First'.
Re^2: &&= vivify keys?
by oha (Friar) on Apr 18, 2012 at 09:10 UTC
    so true!

    not sure why, but i was expecting it to be the same as

    $x{a} && $x{a} = 1;
    thank you!

      Actually, you're closer to the truth than Eliya is. The assignment is indeed conditional.

      Aside from the syntax error from missing parens, the problems both yours and Eliya share are:

      • 1 is actually evaluated before anything else,
      • $x{a} is only evaluated once, and
      • $x{a} is (only) evaluated in lvalue context.

      See Re^2: &&= vivify keys?.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://965678]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2016-08-27 09:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The best thing I ever won in a lottery was:















    Results (379 votes). Check out past polls.