在此代码段中:
use strict;
use warnings;
use Data::Dumper;
my $r = [qw(testing this thing)];
print Dumper($r);
foreach my $row (@({$r})
{
print "$row\n";
$row .= 'mod';
}
print Dumper($r);
print Dumper(@({$r});
我发现 foreach 中 ' (
' 之后的 ' @
' 导致它不能正确循环。我不知道为什么这段代码甚至可以工作,因为没有结束括号。这是在做什么?它看起来正在动态创建一个新变量,但不应该' use strict
'已经被解雇或什么?
请帮助解释' @(
'在做什么以及为什么它仍然在没有结束括号的情况下运行。