If arrays are large, pass them as references (\@arrayname). If intervening subs have no use for the data they are passing through, consider a data hash which everyone would pass around. Subs would look in the hash for the data they need to do their work and would place there answers there as well.