我是Perl新手,很好奇@{$list_ref}
和@$list_ref
是否完全等價。
他們似乎是可以互換的,但我很緊張,有一些微妙的事情,我可能會失蹤。
我是Perl新手,很好奇@{$list_ref}
和@$list_ref
是否完全等價。
他們似乎是可以互換的,但我很緊張,有一些微妙的事情,我可能會失蹤。
是的,它們是等價的。當表達式不僅僅是一個簡單的標量變量時,需要大括號,例如,
push @{ $foo{$bar} } => "baz";
更多詳細信息,請參閱documentation on references的Using References部分。標準的Perl文檔還包括有關使用引用幾個教程:
我總是發現它有用請記住,外括號不是語法魔術,它們只是一個返回引用的塊。塊內的表達式可以是返回參考的任何內容:
$ perl -le 'sub foo {[qw/ apple orange banana /]} print ${print "Do something here."; foo()} [1]'
Do something here.
orange
推薦閱讀:'perldoc perlreftut'。幾乎所有你需要知道的關於參考的非常簡單的作品,以便你可以自信地學習:) – hobbs 2009-12-09 23:25:24
@ hobbs這是我第二次見到perlreftut提到。我想我最好讀它。 :-) – 2009-12-09 23:35:12
@hobbs +1;還有perllol:http://perldoc.perl.org/perllol.html – 2009-12-09 23:41:11