foo($value); sub foo { my ($v) = @_; print "$v\n"; } #### 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); } #### my @inputArray = (1,2,3,4,5,6,7,8); traverseArray3(@inputArray); sub traverseArray3 { return unless @_; print shift, "\n"; goto &traverseArray3; }