From: Larry Wall [EMAIL PROTECTED]
> The default is pass-by-reference, but non-modifiable.  If
> there's a pass-by-value, it'll have to be specially requested
> somehow.
> 
> This is a minimal difference from Perl 5, in which everything
> was pass-by-reference, but modifiable.   To get pass-by-value,
> you just do an assignment.  :-)

Why?  We could make arglists exactly equivilent to the way they're done in 
Perl 5, which is a good way.

        sub foo($a, $b, *@c) {...}

Would be exactly equivilent to Perl 5's

        sub foo { my ($a, $b, @c) = @_; ... }

Since variables are copy-on-write, you get the speed of pass-by-reference 
with the mutability of pass-by-value, which is what everyone wants. If you 
have this, why would you want to do enforced const reference? That's not 
rhetorical; I'm actually curious.

Luke

Reply via email to