http://www.perlmonks.org?node_id=22814


in reply to TLD generator

The code above generates duplicates (i.e. the same TLD will be generated more than once). Consider:
'a'.'a'.'a'.'a'.''.''
'a'.'a'.'a'.''.'a'.''
'a'.'a'.'a'.''.''.'a'
The following does not have the duplicates problem. It could be optimized a bit (and shortened too), but I leave that as an exercise to the reader...
#!/usr/bin/perl -w use strict; my @chars=(('a'..'z'),(0..9)); tld('',$_) for (3..6); sub tld{ my ($txt,$cnt)=@_; if($cnt==0){ print "$txt\n"; }else{ tld($txt.$_,$cnt-1) for (@chars); } }

Replies are listed 'Best First'.
RE: RE: TLD generator
by vkonovalov (Monk) on Jul 17, 2000 at 12:03 UTC
    Agreed. Recursion suggests itself in this case.
    And much better - is to get rid of digits and then just use strings increment. So it will be just
    ('aaa'..'zzzzzz')
    That's all :)
      now your missing numbered TLD's though :)


      lindex
      /****************************/ jason@gost.net, wh@ckz.org http://jason.gost.net /*****************************/