Perl中的^=运算符是什么作用?

4

我在文档中查找 ^= 赋值运算符的含义。

目前我能找到的仅有:

Other assignment operators work similarly. The following are recognized:

  **=    +=    *=    &=    &.=    <<=    
   -=    /=    |=    |.=   >>=    ||=
   .=    %=    ^=    ^.=   //=    &&=
$c ^= $r; 的结果是什么?

这是对异或运算符的语法糖。$xor_sum = $xor_sum ^ $i; 可以简写为 $xor_sum ^= $i; - AbhiNickz
2
@AbhiNickz 啊,这是按位异或运算符的赋值版本。谢谢!请添加为答案。 - Beginner
评论已添加为答案 :) - AbhiNickz
2个回答

10
在Perl中,^=是“异或运算符”的一种语法糖
$xor_sum = $xor_sum ^ $i;

可以改写为

$xor_sum ^= $i;

3

每当您看到形式为以下内容的Perl表达式:

$l op= $r;

它可以被重写为:

$l = $l op $r;

(好的,我说“任何时间”,但在Perl中可能会有例外。在Perl中总是有例外情况。但我现在想不出一个例外。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接