$ 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