my $length = 4; my $b = Math::NumberBase->new($length-1); my $start = 0; my $end = $b->to_decimal("${\($length-2)}" x $length); print "$_\n" for map {join'', map {$_+1} split(//,$b->from_decimal($_))} $start .. $end;