|There's more than one way to do things|
BTW what is the third argument($i) nFor( $n-1, @_, $i ) doing here?
As the sub recurses, one of the array references is remove from the front of @_ at each level, and the current value being iterated by the for loop at that level is added to the end.
Once $n == 0, all the array references have been removed and $n has been shifted off, all that is left in @_, is the set of elements to be printed.
BTW. Here is a cleaner implementation that takes a callback to which the results sets are passed:
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.