In 运算符§

请参阅主要文档 in context 了解infix :=

绑定运算符。虽然 $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 都表示同一个对象。

如果存在变量或容器上的类型约束,则将在运行时执行类型检查。如果失败,将抛出 X::TypeCheck::BindingType

请注意,:= 是一个编译时运算符。因此,它不能在运行时引用,因此不能用作元运算符的参数。