Steve Fink writes:
> But that's really just shifting the burden to the receiving end, which
> will now have to filter P5..P(5+L1-1), P3[0..] into the appropriate
> local variables. So what would be even easier, and probably just as
> fast, would be to say that unprototyped functions pass *all* of their
> arguments through the overflow array. 

Well...

Yes yes yes yes yes!

Yes.

Please do that.

> [...]
>
> Let me throw one out there while I'm at it...
> 
>   sub f ($a, $b, [EMAIL PROTECTED]) { ... }
>   f(1, [EMAIL PROTECTED], @array);
> 
> what does that do? Is it an error? If not, then does @array get
> flattened or not? Please don't make me read [AES]6 again!
> 
> I suppose that was a question for the language list. But then I'd have
> to read the language list.

While I'm here...

C<f> imposes a scalar context on its first two arguments, and a
flattening list context on the rest.  But that doesn't matter, because
right when you wrote C<*> in the call, you switched it over to
flattening list context.  So $a gets 1, $b gets the first element of @x
(or @array if @x is empty), and @c gets the rest of the elements of @x
and @array.

Luke

Reply via email to