關於my $var
和my ($var)
之間的差異,在閱讀this question和this question後,我仍然無法明白Data :: Dumper模塊爲什麼會在其代碼的以下摘錄中使用parens。在這些問題的答案中描述的差異似乎並不適用於此。爲什麼Dumper模塊將它的設置散列分配給它?
my($s) = {
level => 0, # current recursive depth
indent => $Indent, # various styles of indenting
# a bunch of other settings removed for brevity's sake
deparse => $Deparse, # use B::Deparse for coderefs
noseen => $Sparseseen, # do not populate the seen hash unless necessary
};
我在一個小腳本測試了它,我無法感知這個聲明作爲3210或my $s
任何區別。在這兩種情況下,它都是對散列的標量引用,據我所知。
我錯過了什麼嗎?