use strict; use warnings; our @c = (0..9,'a'..'z','A'..'Z'); build(7); sub build { my ($n, $s) = @_; if (!--$n) { print "$s$_\n" for @c; return; } build($n, "$s$_") for @c; }