> The clue is "If a sub wants to return an lvalue, it must B<be> an
> lvalue". Therefore I propose a new keyword C<lreturn> that behaves
> just like C<return>, but returns the lvalue instead of the rvalue. After
> returning, everything is exactly as if the argument to lreturn were
> specified instead of the subroutine call. The <:lvalue> property is no
> longer needed and should be removed sine it only causes confusion. A
> subroutine B<is> not an lvalue thing, it B<returns> an lvalue if it
> wants to.

Amen.

(Tagging a sub to _always_ be an lvalue runs very counter to the flexible
 context concept of Perl, witness the want()).

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen

Reply via email to