http://www.perlmonks.org?node_id=1038435


in reply to Re^2: Thoughts on replacing -> with .
in thread Thoughts on replacing -> with .

Hmm, I don’t see ~= in perlop; and ~ is the unary bitwise negation operator, so it wouldn’t make much sense to have ~=. What is it?

Replies are listed 'Best First'.
Re^4: Thoughts on replacing -> with .
by Corion (Patriarch) on Jun 12, 2013 at 11:32 UTC

    It is like += and .=, which modify the left-hand side by the right hand side.

    $a += $b adds the right hand side ($b) to the left hand side, $a, and assigns the result to $a.

    $a .= $b appends $b to $a and assigns the result to $a.

    $a ~= $b xor's $b and $a and assigns the result to $a.

    As this is a relatively uncommon use, it maybe makes this interchange currently even harder to spot than later the use of =~ and ~=.

      But XOR-assign is supposed to be $a ^= $b...

      I am getting a syntax error for
      $a ~= $b
      لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

        Err - yes. I wonder how I came to this interpretation and I'm sorry I did not test it before...

        Correct. On the other hand, :$ ~= $b does work, but is has nothing to do with XOR.