sub main { my @returned = &first; &second(@returned); #The & isn't necessary if perl already knows that first #and second are subroutines, i.e. if you declare them #prior to use as in the previous examples. } sub first { my @something = (qw[some stuff....]); return @something; } sub second { my @needs = @_; #@needs = something } #### disambiguate($a, @really, $long[3], {and => 'potentially', rather => \%confusing} &call( 'that', &is(\$already, $crowded)), $got_it{?})