我是新来的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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top