绑定中缀操作符

你总出现在我梦里 无论醒在哪里 我会将你永远珍藏 在心中最明亮的地方 哪里是你永远的拥抱 — 哪里是你永远的拥抱·逃跑计划

这根本不值得写一篇文章, So What? 翻译下 perl6doc . 我靠, 这你也要翻译?

中缀操作符 :=

绑定。 而 $x = $y 是把 $y 中的值放到 $x 里面, $x := $y 会让 $x$y 引用同一个值。

    my $a = 42;
    my $b = $a;
    $b++;
    say $a;

这会输出 42, 因为 $a 和 $b 都包含了数字 42, 但是容器是不同的。

    my $a = 42;
    my $b := $a;
    $b++;
    say $a;

这会打印 43, 因为 $b$a 都代表着同一个对象

:= 还有一个表妹叫做 ::= , 对, 就是比我多了一个冒号, 就卖萌, 真受不了她。

::= 是只读绑定, 意思是, 虽然我是你的人了, 但是你不能动我!

my $str ::= "word";
$str = "123";
Cannot assign to an immutable value

所以, 使用 ::=$str 绑定了一个不可变值。

原文