Added len argument.

This commit is contained in:
Bradley M. Kuhn 2010-06-27 12:12:10 -04:00
parent 829bc7ef12
commit b294b91450

View file

@ -21,10 +21,10 @@ use warnings;
use Net::WhoisNG;
if (@ARGV != 2) {
print STDERR "usage: $0 <TLD> <CACHE_FILE>\n";
if (@ARGV != 3) {
print STDERR "usage: $0 <TLD> <LEN> <CACHE_FILE>\n";
}
my($TLD, $CACHE_FILE) = @ARGV;
my($TLD, $LENGTH, $CACHE_FILE) = @ARGV;
my %cache;
@ -36,10 +36,11 @@ while (my $line = <CACHE>) {
unless $line =~ /^\s*(\S+)\s*\:\s*((?:available|expires:\s*\S+))/;
$cache{$1} = $2;
}
close CACHE;
sub CheckDomain ($$$) {
my($let1, $let2, $let3) = @ARGV;
foreach my $let1 ('a' .. 'z', '0' .. '9') {
foreach my $let2 ('a' .. 'z', '0' .. '9', '-') {
foreach my $let3 ('a' .. 'z', '0' .. '9') {
my $domain = "$let1$let2$let3" . "." . $TLD;
next if defined $cache{$domain};
@ -56,5 +57,22 @@ foreach my $let1 ('a' .. 'z', '0' .. '9') {
}
}
}
if ($LENGTH == 3) {
foreach my $let1 ('a' .. 'z', '0' .. '9') {
foreach my $let2 ('a' .. 'z', '0' .. '9', '-') {
foreach my $let3 ('a' .. 'z', '0' .. '9') {
CheckDomain($let1, $let2, $let3);
}
}
}
} elsif ($LENGTH == 2) {
foreach my $let1 ('a' .. 'z', '0' .. '9') {
foreach my $let2 ('a' .. 'z', '0' .. '9') {
CheckDomain("", $let1, $let2);
}
} else {
print STDERR "domain length of $LENGTH is unsupported\n";
exit 1;
}
}