Luke Palmer: # sub foo($x) { # if ($x != 4) { # print "Not four\n"; # } # if ($x == 4) { # print "Four\n"; # } # } # sub oof($x) { # if ($x != 4) { # print "Not four\n"; # } # else { # print "Four\n"; # } # }
More simply, !($x == 4) is no longer exactly equivalent to ($x != 4). # I don't know how much this would come up in practice, but I # do see it as an issue. The question is: are junctions more # useful if they do or don't collapse upon examination? Actually, this suggests to me a flaw in the != operator, not a flaw in junctions. We should probably make != exactly equivalent to the negation of ==; this implies that when != gets a junction the type of junction is reversed (any becomes all, all becomes any). This is much scarier than it sounds--it's a lot like the !(x || y) == (!x && !y) rule. --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) Wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. And radio operates exactly the same way. The only difference is that there is no cat. --Albert Einstein (explaining radio)