wantarray function
Get list vs array context of current subroutine call
Returns
TRUE if the context of the currently executing subroutine 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";