我无法完全理解以下代码段的工作原理:
my $str = 'abc def ghi';
my $num = () = $str =~ /\w+/g;
say $num; # prints the word count, 3
我知道这会$str =~ /\w+/g
返回一个单词列表,显然,这些单词被传达给最左边的作业。然后$num
在该列表上施加一个标量上下文并变为 3。
但这是什么() = ('abc', 'def', 'ghi')
意思?是这样的my $a = my @b = (3, 5, 8)
吗?如果是这样,最右边的列表如何转移到$num
最左边?