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]

Reply via email to