Perl5 リファレンス

               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";

               This function should have been named wantlist()