in reply to Shortcut operator for $a->{'b'}=$b if $b;

What is the correlation between 'b' and $b? Is one used to derive the other? If so, then map may help.
$a = { map { $val = some_derivation($_) ? ( $_ => $val ) : () } qw(a b c) };
Ivan Heffner
Sr. Software Engineer, DAS Lead, Inc.

Replies are listed 'Best First'.
Re^2: Shortcut operator for $a->{'b'}=$b if $b;
by rokadave (Sexton) on Sep 20, 2005 at 16:40 UTC
    No correlation at all. This all started when I discovered the ||= operator, which test the assignee for truth, upon false assigns the assignor. I wanted to test the other side, and assign upon false.

    I think my answer is no.

      "assigns the assignor"? Every definition I can find for "assignor" defines it as the person (or in the case operator) who does the assignment. In other words, "=" is the assignor, not "$b".

      The standard terminology for assignments is "lvalue" for the variable receiving the value (which is usually on the *l*eft) and "rvalue" for the value being copied (which is usually on the *r*ight).