On Wed, Aug 16, 2000 at 12:14:09AM -0700, Nathan Wiger wrote:
> No problem. In fact, this fits under your rules. HOWEVER, it also
> assumes that Lincoln thought that param() was :lvalue-worthy. What if he
> forgot? Or didn't think of this case?
Then you email him with a patch, and your reasons why your lvalue
patch should be applied. If he likes it, it's included otherwise it's
not. Don't second-guess the design decisions of module authors who
may have perfectly good reasons for doing things the way they do.
> Worse, what if a somewhat novice writes a module and doesn't know about
> :lvalue, or at least not how to use it. But an experienced user picks up
> their module DoCoolStuff.pm on CPAN and tries it:
Then that experienced user can patch the code and send email to the
novice explaining lvalue subs and why he should use them.
> Ooops! The author didn't use :lvalue. So even though this makes perfect
> sense to be able to do, since the author forgot to use :lvalue, you lose
> a really cool syntactic tool. This seems backwards.
Seems right to me. I'd rather assignment to a function work on
purpose rather than on accident. If lvalue subs are the default, then
they "accidently" work where maybe they shouldn't. Whether a sub
should be lvaluable should be a conscious decision made by the
subroutine author.
-Scott
--
Jonathan Scott Duff
[EMAIL PROTECTED]