$ perl -wMstrict -le 'if((2,1,0)) {print"true"}else{print"false"}'
Useless use of a constant (2) in void context at -e line 1.
false
####
$ perl -wMstrict -le 'if(()=(2,1,0)) {print"true"}else{print"false"}'
true
####
$ perl -wMstrict -le 'sub foo { print wantarray?"list":"scalar";
return (0); }; if(foo) {print "true"} else {print "false"} '
scalar
false
$ perl -wMstrict -le 'sub foo { print wantarray?"list":"scalar";
return (0); }; if(()=foo) {print "true"} else {print "false"} '
list
true
$ perl -wMstrict -le 'sub foo { print wantarray?"list":"scalar";
return (0); }; my @x=foo;if(@x) {print "true"} else {print "false"}'
list
true