正規表現の練習
AKB48総選挙2012開票結果からメンバー名を(スペースを除いて)取得する正規表現の練習。
use strict; use warnings; use LWP::Simple; my $html = get('http://www.sponichi.co.jp/entertainment/akb48/rank/2012/0606index.html'); my @l = $html =~ m{<a.*?href="/entertainment/akb48/profile/.*?">\s(.*?)\s(.*?)</a></td>}g; my $count; my $rank; open(my $out, ">", "akb.txt") or die("could not open file."); foreach my $_ (@l) { $count++; if ($count % 2) { $rank++; print $out "$rank $_"; } else { print $out "$_\n"; } }
printの度に Wide character in print at akb.pl line (17|19). ってメッセージが出るけどなんとかなる。
.*? が万能すぎて練習にならない。