my $a; ($a) = ($a) || foo(); ($a) ||= foo(); sub foo { wantarray ? print("list\n") : print("scalar\n"); return 0; }