use Modern::Perl; my $var1 = context('a'); my ($var2) = context('b'); say for $var1, $var2; context($var2); sub context { my $c = (defined wantarray) ? (wantarray ? 'list' : 'scalar') : 'void'; say '(', $_[0], '): is in ', $c, ' context'; return wantarray ? @_ : $_[0]; }