On Sat, Aug 27, 2005 at 19:16:55 +0200, Ingo Blechschmidt wrote: > my ($head, [EMAIL PROTECTED]) := foo();
if foo returns a list of scalars >=2 this is like parameter unpacking: my ($head, [EMAIL PROTECTED]) = *foo(); if foo returns a scalar and an array as a list of two scalars, the second one being a ref to an array: my ($head, @tail) = foo(); > I.e. we use binding's property that the LHS is a subroutine > signature. (Note that I do not talk about the LHS being a list of > scalars (e.g. ($a, $b, $c) = foo()), this post only speaks about > using lists containing @arrays as lvalues). BTW, for simplicities sake perhaps there is an MMD on &infix:<,>, one for lvalue context, the other for read only context? > discarding any additional arguments, i.e. assuming > > my ($foo, $bar, [EMAIL PROTECTED]) := foo(); for this I think we need an easier solution... Perhaps flattenning foo instead of adding a slurp, or making yadda yadda in lvalue throw it's arguments away silently: my ($foo, $bar, ...) := foo(); -- () Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418 perl hacker & /\ kung foo master: MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM: neeyah!
Description: PGP signature