"TSa (Thomas Sandlaß)" skribis 2005-05-25 10:47 (+0200): > I have understand what you mean and how you---and other p6l'er--- > derive [EMAIL PROTECTED] == 1 from @a = [1,2,3]. But allow me to regard this > as slightly inconsistent, asymmetric or some such.
If you STILL don't understand that it has nothing to do with inconsistency or asymmetry, then please allow me to at this point give up and stop trying to explain. () do not construct lists, inside () is an expression, () does not provide context. [] constructs arrays, inside [] is an expression that is a list, [] does provide list context. () and [] are as alike as [] and {} or <> and (), or ** and ++. Your expectation, not the language, is wrong. > Isn't hash context missing in the list above? How does > %a = ( a => 1, b => 2, c => 3 ) # @a = (1,2,3) HASH = THREE PAIRS > compare with > %b = { a => 1, b => 2, c => 3 } # @b = [1,2,3] HASH = ONE SCALAR That probably does roughly the same as: %b; %b{ { a => 1, b => 2, c => 3 } } = undef; Hopefully with a warning complaining about the odd number of elements in the list. > 3 == +%a == +%b No. > %a<a> == 1 == %b<a> No, there is no %b{'a'}, only a $b{ $a_certain_hashref }. Juerd -- http://convolution.nl/maak_juerd_blij.html http://convolution.nl/make_juerd_happy.html http://convolution.nl/gajigu_juerd_n.html