not() follows the looks-like-a-function rule, unlike its high-prece-
dence counterpart. So deparsing
not +($foo || die) && $baz
as
not ($foo || die) && $baz
is incorrect, as the && $baz part is no longer part of the argu-
ment to not().
my $self = shift;
my($op, $cx) = @_;
if ($cx <= 4) {
- $self->pfixop($op, $cx, $self->keyword("not")." ", 4);
+ $self->listop($op, $cx, "not", $op->first);
} else {
$self->pfixop($op, $cx, "!", 21);
}
() = (-w $_) + 3;
() = (-x $_) + 3;
####
+# [perl #97476] not() *does* follow the llafr
+$_ = ($a xor not +($1 || 2) ** 2);
+####
# Precedence conundrums with argument-less function calls
() = (eof) + 1;
() = (return) + 1;