うまいぼうぶろぐ

linuxとhttpdとperlのメモ

Net::CIDR::MobileJP::Scraper::Plugin::Vodafone.pmが動かなくなった

dsasの中の人が作ったperlで、SoftbankのIPだけが取得できなくなったので調べてみた。どうやらSoftbankのIP帯域が載ってるURLが変わったのが原因で、Net::CIDR::MobileJP::Scraper::Plugin::Vodafone.pmが古いままだかららしい。適当に修正したら動くようになった。


作者にお知らせしたいけど、testの書き方わかんないしpatchの送り方とかわかんねぇ。アレか、わかんねぇとか言ってないでこれを機に調べれば良いのか。

# diff -u Vodafone.pm.org Vodafone.pm
--- Vodafone.pm.org     2008-10-11 10:03:00.000000000 +0900
+++ Vodafone.pm 2008-10-11 10:05:25.000000000 +0900
@@ -3,7 +3,8 @@
 use warnings;
 use base qw/Net::CIDR::MobileJP::Scraper::Plugin/;

-sub url { return 'http://developers.softbankmobile.co.jp/dp/tech_svc/web/ip.php'; }
+sub url { return 'http://creation.mb.softbank.jp/web/web_ip.html'; }
+

 sub run {
     my ($self, ) = @_;
@@ -12,7 +13,7 @@
     my $content = $self->get($url);

     my @result;
-    while ($content =~ m!<FONT size="2" class="j10".*?>(\d+\.\d+\.\d+\.\d+/\d+)</FONT>!g) {
+    while ($content =~ m!<td bgcolor=".*?">&nbsp;&nbsp;(\d+\.\d+\.\d+\.\d+/\d+)</td>!g) {
         push @result, $1;
     }
     return \@result;