sub foo { printf "foo(%s) called in %s context\n", join(', ', @_), wantarray ? 'list' : defined wantarray ? 'scalar' : 'void'; } @dummy = map { foo('inside', $_); foo('last', $_) } qw(alpha beta gamma);