We have a bit of a problem with negative operators applied to junctions, as illustrated recently on PerlMonks. To wit, when a native English speaker writes
if $a != 1 | 2 | 3 {...} they really mean one of: if not $a == 1 | 2 | 3 {...} if $a == none(1, 2, 3) {...} or, expressed in current understanding of negated ops: if $a != 1 & 2 & 3 {...} if $a != all(1, 2, 3) {...} They specifically do *not* mean if $a != any(1,2,3) {...} since that would always be true. I don't think we can allow this situation to stand. Either we have to make != and !~ and ne transform themselves via "not raising", or we have to disallow negative comparisons on junctions entirely. Opinions? Larry