On Sun, Mar 06, 2005 at 11:58:43PM -0800, Larry Wall wrote: > On Sun, Mar 06, 2005 at 02:13:09AM -0700, Luke Palmer wrote: > : What is output: > : > : sub foo($x, ?$y, [EMAIL PROTECTED]) { > : say "x = $x; y = $y; z = @z[]"; > : } > : > : my @a = (1,2,3); > : foo($x, @a); > > I think it should say something like: > > Use of undefined value at foo line 2 > x = ; y = 1 2 3; z = > > Optional parameters are greedy, and @a means [EMAIL PROTECTED] in a scalar > context. > > Larry
Urk. I, for one, will definitely find this surprising. I would have expected: x = <whatever>; $y = 1; z = 2 3 But I suppose it's all a question of learning to love the Brave New World in which arrays are actually objects (sort of). --Dks -- [EMAIL PROTECTED]