c:\@Work\Perl\monks>perl -wMstrict -le "sub S { print ! defined wantarray ? 'void' : wantarray ? 'list' : 'scalar'; } ;; sub T { print 'non-return: '; S; print 'return: '; S; } ;; sub U { print 'SCALAR ----'; my $scalar = T; print ''; print 'LIST ----'; my @ra = T; print ''; print 'VOID ----'; T; print ''; } ;; U; " SCALAR ---- non-return: void return: scalar LIST ---- non-return: void return: list VOID ---- non-return: void return: void