我是 Perl 的新手,很好奇它们是否@{$list_ref}
完全@$list_ref
等价。
它们似乎可以互换,但我很紧张,因为我可能会遗漏一些微妙的事情。
是的,它们是等价的。当表达式不仅仅是一个简单的标量变量时,您需要大括号,例如,
push @{ $foo{$bar} } => "baz";
有关更多详细信息,请参阅有关参考的文档的使用参考部分。标准 Perl 文档还包括几个关于使用引用的教程:
我总是发现记住外大括号不是语法魔术很有帮助,它们只是一个返回引用的块。块内的表达式可以是返回引用的任何内容:
$ perl -le 'sub foo {[qw/ apple orange banana /]} print ${print "Do something here."; foo()} [1]'
Do something here.
orange