my @inputArray = (1,2,3,4,5,6,7,8); traverseArray2(\@inputArray); sub traverseArray2 { my ($aref, $counter) = (shift, shift // 0); return if $counter >= @$aref; print $aref->[$counter], "\n"; traverseArray2($aref, $counter+1); }