in reply to Arbitrary Levels Of Recursion?

This is rather ridiculously easy, actually:
use strict; use warnings; comb('',[1..10],['a'..'c'],['x'..'z']); sub comb { if ($#{@_} == 1) { print "$_[0]$_\n" for @{$_[1]}; } else { comb($_[0].$_, @_[2..$#{@_}]) for @{$_[1]}; } }