Wikipediaタイトル取得プログラムの改善

 前回問題として残っていた、200件以上のページタイトルを全て取得できていないというバグを、今回WikipediaのHTMLソースを見つつ直しました。
 まず、200件よりも多く記事が存在する時、「カテゴリ…にあるページ」の直下に、「次の200件」というリンクが存在していることが分かっているので、ここを狙って回収できるように、プログラムを組み直しました。

for $head ($tag->find("a")) {
if (encode('utf8', decode_entities($head->as_text)) =~ /次の/) {
$nextPage = encode('utf8', decode_entities($head->attr("href")));
}

last;
}

のようにして、最初の"a"タグのみ確認し、「次の200件」という文字列が入っていたらそのリンクURLを回収するようにしました。
 その後、次のページが存在するならば、現在のページの走査を終了して次のページの走査に入るように、関数呼び出しのコードを追加しました。

if ($nextPage ne "") { #続きがある時、そちらに移行
$tree->delete();
&scanWikiCategory($wiki . $nextPage, $_[1]);
return;
}

 これでカテゴリ配下のページは全て取得できるようになりました。次回このプログラムで再度タイトル取得を行い、低頻度辞書とのマッチを調べてみたいと思います。