in reply to Re: Situation where warning "Found = in conditional, should be" seems obsolete
in thread Situation where warning "Found = in conditional, should be" seems obsolete

perlop is clear that and has higher precedence than or and this can be checked with B::Deparse and -p option

$_ % 2 or ( $has_even = 1 and last )

Like others already implied does $has_even = 1 and last not make much sense, since the assignment at LHS is always true.

Furthermore is this a quite pathological case, because the part with the code-branch with higher precedence is never executed.

compare

DB<215> p 0 or 1 and 0 0 DB<216> p (0 or 1) and 0 1 DB<217>

update
DB<233> p 0 or 1 and die "never" 0 DB<234> p 0 or (1 and die "never") 0 DB<235> p (0 or 1) and die "never" 1never at (eval 265)[c:/Perl_524/lib/perl5db.pl:737] line 2. DB<236>

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery