Mark Reed skribis 2005-05-25 10:49 (-0400):
> [1,2,3] is not an array or a list. It is a reference to an anonymous array.
> It is not 3 values; it�s 1 value, which happens to point to a list of size
Just for accuracy: it points to an array, which is still not a list in
our jargon.
> 3. If you assign that to an array via something like @a = [1,2,3], I would
> expect at least a warning and possibly a compile-time error.
>
> If it does work, it probably gets translated into @a = ([1,2,3]), which
That's not a translation. Parens, when not postfix, serve only one
purpose: group to defeat precedence. $foo and ($foo) are always the same
thing, regardless of the $foo.
> I�m not sure about +(@a[0]), but I�m guessing it would == 3.
Because parens only group, and [0] here has tighter precedence than the
prefix + anyway, +(@a[0]) and [EMAIL PROTECTED] are exactly the same.
Because @a[0] is a reference to an array, that array is @{ @a[0] }. [EMAIL
PROTECTED]
@a[0] } is also the same as [EMAIL PROTECTED]
The numeric value of an array reference is the same as that of its
array.
Juerd
--
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html
http://convolution.nl/gajigu_juerd_n.html