sub foo { my @arra = ('a' .. 'z'); my @arrb; for ( 0 .. ( $#arra - 1) ) { bar($_); } bar($#arra); sub bar { my ($i) = @_; push @arrb, $arra[$i]; } return \@arrb; }