

#!/usr/bin/perl -w
# This is free software with ABSOLUTELY NO WARRANTY.
# 無償・無保証・著作権放棄 (see http://lifehacks.ta2o.net/byebye-copyright.html)
#
# Web ページへのくっつけ方 (例):
# <div class="rssbox">
# <script language="JavaScript" src="readme.js"></script>
# </div>
use strict;
my $output_fn = shift; # JS出力先ファイル名
### ReadMe! の登録情報ページへのアクセス(事情によりwget使用)
`/usr/bin/wget -O /var/tmp/a -q http://s.readmej.com/m/yto/nais.to`; ###ここ変更!###
open(F, "/var/tmp/a") or die;
my $readme_cont = join('',<F>);
close F;
### ランキング情報取り出し
my @plist;
while ($readme_cont =~
m|<TR>\n<TD>(http.+?)</TD>\n<TD ALIGN="right">(\d+)</TD>\n</TR>|gsm) {
my ($u, $c) = ($1, $2);
next if ($u !~ /\d{4}-\d\d-\d\d-\d+.html/); ###ここ変更!###
push @plist, {'url'=>$u, 'count'=>$c};
}
die if (@plist == 0);
### 記事ページからの title 情報の取り出し
use LWP::Simple;
foreach (@plist) {
my $u = $_->{url};
my $c;
($c = get($u)) or die "Can't get $u\n";
($_->{title}) = ($c =~ m|<title>(.+?)</title>|smi);
}
### JavaScript ファイル作成
my $str = "<ul>";
foreach (@plist) {
$_->{title} =~ s/\'//g;
$str .= qq(<li><a href="$_->{url}">$_->{title}</a> ($_->{count}));
}
$str .= "</ul>";
$str =~ s/\n//g;
open(F, "> $output_fn") or die "Can't open $output_fn : $!\n";
print F "document.writeln('$str');\n";
close(F);
(「無償・無保証・著作権放棄」<http://lifehacks.ta2o.net/byebye-copyright.html>)