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