On 13.05.2013 14:12, Leon Timmermans wrote: > On Mon, May 13, 2013 at 1:28 PM, Rafael Garcia-Suarez <rgs@consttype.org> wrote: >> maxstr is not a method; if you use List::Util::maxstr() instead, it >> complains as it should: >> >> ~§ perl -wle 'use List::Util qw(maxstr); List::Util::maxstr($_ = "hi") >> = 42; print' >> Can't modify non-lvalue subroutine call in scalar assignment at -e >> line 1, near "42;" >> Execution of -e aborted due to compilation errors. >> >> That said, we actually seem to have a problem with XS functions called >> as methods. > > Yeah, the keywords there seems to be "compilation errors". For methods > we have to detect this at runtime… Yes, this is about calls that can't be resolved (and rejected) at compile time. It affects all method calls but also this: % perl -wle 'use List::Util qw(maxstr); (\&maxstr)->($_ = "hi") = 42; print' 42 i.e. calls through a reference. -- Lukas Mai <plokinom@gmail.com>Thread Previous