小编Ant*_*key的帖子

什么是'@('在这个Perl代码中做什么?

在此代码段中:

    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});
Run Code Online (Sandbox Code Playgroud)

我发现foreach 中的' ('之后' @'导致它无法正确循环.我不知道为什么这个代码甚至可以工作,因为没有结束括号.这是做什么的?它看起来是在动态创建一个新的变量,但不应该use strict"已经解雇了什么?

请帮助解释一下这@(是什么以及为什么它仍然在没有结束括号的情况下运行.

perl variable-declaration

9
推荐指数
1
解决办法
294
查看次数

标签 统计

perl ×1

variable-declaration ×1