http://qs321.pair.com?node_id=1191995


in reply to Surprising Precedence/Context

As you can see below, the = binds tighter than the and, so your second example is parsing as:
(my($yes2)=defined $bad) and -f $bad;
Deparse:
[~]$ perl -MO=Deparse -e 'my($yes2) = defined $bad and -f $bad;' -f $bad if my($yes2) = defined $bad; -e syntax OK