> [dmlloyd - Tue Aug 14 04:33:09 2001]:
> 
> If you extract the attached module and do this:
> 
>   perl Makefile.PL
>   make
>   perl -Mblib -MBugDemo -e 'BugDemo->querble = 1234'
> 
> in perl 5.6.1, it works but in 5.7.2, you get:
> 
>   Can't modify non-lvalue subroutine call at -e line 1.
> 
> -----------------
> 
> Here's the gory details. I've declared (but NOT defined) a sub called
> querble like this:
> 
>   sub querble : lvalue method;
> 
> I've also got an xsub decared like this:
> 
>   sub implemented_in_xs : lvalue method;
> 
> and impemented in BugDemo.xs.  It simply makes a magic IV, just to
> demonstrate the problem.  Finally, I have an AUTOLOAD:
> 
>   sub AUTOLOAD {
>     $_[0]->implemented_in_xs();
>   }
> 
> The end result should be that a call to 'querble' will be bounced into
> 'implemented_in_xs'.  And this is exactly how it works in 5.6.1, but
> not
> in 5.7.2.  I use this feature extensively in one of my modules, and it
> would be a major bummer if it went away.... especially because I don't
> see
> how else I can make an lvalue xsub!

5.8.6 still has this bug.  [EMAIL PROTECTED] has improved on it!

0 ~/Downloads/BugDemo-0.01$ bleadperl -Mblib -MBugDemo -e
'BugDemo->querble = 1234'
Bus error

Reply via email to