> Date: Wed, 20 Nov 2002 12:11:52 -0800 (PST) > From: Austin Hastings <[EMAIL PROTECTED]> > > > --- Larry Wall <[EMAIL PROTECTED]> wrote: > > ... > > > This might work now, presuming > > > > sub foo (;$_ = $=) > > > > (or whatever) is really a binding, and not an assignment. (That's > > another reason why //= is *wrong*--it implies assignment.) > > Umm, that's what it was supposed to do. > > IOW: sub($param //= $=) > > means "if you don't get one, grab the value of $=."
More like "if you don't get one, bind to $=" Copying stuff should always be explicit, as it can take awhile. I'm wondering how //= implies assignment while = doesn't. But I tend to like = better anyway. And using := : sub foo ($param := $=) {...} Just feels wrong. I guess there was no point to what I just wrote... > As opposed to sub($param ://= $=) > > which would be a horrible-looking way of getting something by > reference. Using an operator that doesn't exist. > Which is also why I asked about value/reference semantics. > > Or is ";" supposed to be the "here be reference-args" delimiter? (I > thought it meant "here be named parameters"...) Neither. It means "here be optional parameters." Just like Perl 5. Luke