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 }