我對Perl中列表和標量上下文的一些細節有些困惑,我希望有人能夠幫助我一點。我的最終目標是比較兩個數組中的元素數,除非其中一個數組是一個匿名數組,並且我無法弄清楚讓Perl告訴我它有多少個元素。這是我鍵入到調試器:`如何在Perl中強制列表或標量上下文?
DB<10> @a = ([1,2,3,4],[5,6,7,8,9],[10,11])
DB<11> @b = $a[1]
DB<12> $c = @b
DB<13> p $c
1 # Why didn't this print out 5?
DB<14> $d = $a[1]
DB<15> p @$d
56789
DB<16> p $$d
Not a SCALAR reference at (eval 17)[/opt/local/lib/perl5/5.8.9/perl5db.pl:638] line 2.
DB<17> @e = @a[1]
DB<18> p @e
ARRAY(0x87c358)
DB<19> p ${@e}
我走了奇怪的字符組合的嘗試,有人可以告訴我,我做錯了嗎?謝謝。
見http://perlmonks.org/?node=References+quick+reference – ysth 2011-05-13 16:25:06