wantarray Returns true if the context of the currently executing subroutine or "eval" is looking for a list value. Returns false if the context is looking for a scalar. Returns the undefined value if the context is looking for no value (void context). return unless defined wantarray; # don't bother doing more my @a = complex_calculation(); return wantarray ? @a : "@a"; "wantarray()"'s result is unspecified in the top level of a file, in a "BEGIN", "UNITCHECK", "CHECK", "INIT" or "END" block, or in a "DESTROY" method. This function should have been named wantlist() instead.