C:\temp>perl -MO=Deparse tmp16.pl Useless use of private variable in void context at tmp16.pl line 6. use warnings; use strict 'refs'; my $a = 1; my $b = 0; $b if my $c = $a; print "c=$c\n"; $a = 1; $b = 0; $c = $a && $b; print "c=$c\n"; tmp16.pl syntax OK