#! /usr/bin/perl use strict; use warnings; chop $"; my @c = ('0'..'9', 'a'..'z', 'A'..'Z'); sub generate_list { for(my @ii = (0) x ($_[0] + 1); $ii[0] == 0; do { for(my $i = $#ii; ++$ii[$i] == @c; $ii[$i--] = 0) {} } ) { print "@c[@ii[1..$#ii]]\n"; } } generate_list 2;