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.