Perl ネタ
【Perl おぼえがき】whois 情報からドメイン名の有効期限だけを取得したい。その 3。

TLD が .com, .net 等 有効期限の表示で "Expiration Date:" とでるドメイン名と .org, .info 等 "Expiry Date:" とでるものでマッチさせて有効期限を取得することはできました。
ひとまずよく見かける TLD の有効期限が取得できることになった訳です。
ただ、重要なのが残っていました。JP ドメイン名です。
単純に whois を検索するだけでは日本語で出てくるのでマッチさせるのが難しそう。
2015/05/18
JP ドメイン名も英語表記で whois 情報を取得する方法を見つけたのでそれを利用してマッチさせてやります。
use strict;
use warnings;
use Net::Whois::Raw;
my $dom = "google.jp";
my $ex = '\[Expires on\]';
my $w = `whois -h whois.jprs.jp $dom/e`;
my @w = split(/\n/, $w);
foreach my $date (@w) {
next if ($date =~ /$ex/);
$date =~ s/(.*)$ex\s*//;
$date =~ s/\(|\)//g;
print "$date\t$dom";
}
JP ドメイン名の場合は末尾の "/e" で英語表記を取得して、あとは YYYY/MM/DD の並びで出てきてくれるので必要ない部分を削除するだけ。
日付の表示形式が一定なので他の TLD よりは扱いやすいです。