#!/usr/bin/perl
my $i = 1;
my %month =
map { $_ => $i++ } qw/jan feb mar apr may jun jul aug sep oct nov dec/;
my %domain = ();
DOMAIN: while (<DATA>) {
chomp;
next if/^\s*$/;
my @whois = `whois $_`;
LINE: foreach my $line (@whois) {
if ($line =~/expire/i) {
my $date;
if ($line =~/(\d\d)-([a-zA-Z]+)-(\d{2,4})/) {
$date = join '-', $1, sprintf('%02d', $month{lc($2)}), $3;
} elsif ($line =~/(\d\d\d\d-\d\d-\d\d)/) {
$date = join '-', reverse split/-/, $1;
}
if ($date) {
$domain{$_} = $date;
next DOMAIN;
}
}
}
printf "Error: couldn't find expire date for %s:\n", $_;
}
foreach (sort keys %domain) {
printf "%s expires on %s\n", $_, $domain{$_};
}
__DATA__
.. DOMAINS HERE..
whipuptitude (Score:1)
my $i = 1;
my %month = map { $_ => $i++ } qw/jan
Hmmm. How about:
my %month;
@month{ qw/jan
And also:
DOMAIN: while (<DATA>) {
chomp;
next if
my @whois = `whois $_`;
LINE: foreach my $line (@whois) {
if ($line =~