in reply to Re^9: rv of list assignment (was "map in void context")
in thread map in void context

Apologies if I misquoted you ...
my $x = ($a,$b) = (4,5,6); # $x = 3
indeed shows that list assignment has several side-effects, one in list context and another one in scalar context (I, personally, dislike that ... I think the behaviour in scalar context should be consistent with that in list context).

On first reading of your response I had overlooked that only two elements get assigned - otherwise a return value of '3' would simple have been the size of the list of assigned elements and all would have been consistent between list and scalar context.

This makes matters slightly worse (in my view) since it confirms my suspicion aired earlier on in this thread: some operators may indeed have more than one side-effect.