Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Re: Re: (jeffa) Re: A better mod (%) operator?

by jmcnamara (Monsignor)
on Jul 09, 2002 at 08:46 UTC ( #180428=note: print w/replies, xml ) Need Help??

in reply to Re: Re: (jeffa) Re: A better mod (%) operator?
in thread A better mod (%) operator?

The problem isn't with wantarray

I didn't mean to give the impression that I think the bug is in wantarray(). :-) I doubt that is the case. It is more likely that the overloaded sub is always called in a scalar context.

Whether this is a bug or not I cannot say. In a way it makes sense because non-overloaded arithmetic operators are unaffected by context:

@a = 1 + 2; $a = 1 + 2;

However, it would be nice if the context was seen by the overloaded operator so that code like jeffa's would work. Also, in relation to overloaded <>, which should have a scalar and list context, it does seem to be a bug.

It's as if overloaded operators are always called in some sort of bizarro scalar context where lists are evaluated as their last element

The fact that the last element is returned is consistent with the observation that the overloaded operators are always called in a scalar context since this is what happens when a list is assigned to a scalar:

$x = (1,2,3); print $x; # prints 3


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://180428]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2021-05-11 14:57 GMT
Find Nodes?
    Voting Booth?
    Perl 7 will be out ...

    Results (117 votes). Check out past polls.