質問: Perlの正規表現についての質問です。続きの質問ですので、お手数ですが先に に目を通していただけるとありがたいです。掲示板のデータを取得して、正規表現でシリアル、タイトル、名前、日付、書き込み内容を抜き出して保存したいと考えています。前回は1件だけ取得するところまではOKでしたが、ループで回していくと、書き込み内容の部分だけ、マッチしたりしなかったりします。しかも、実行するたびにマッチする行、しない行が違ってきたりします(例えば10回フープすれば2,3,5,6行だけしない、など)。何度も見直したのですが、なぜ同条件でこういった結果になるのかが分かりません。何かこういう問題を引き起こす原因に心当たりがありましたら、ご指摘ください。 字数制限でコードや実行結果を書けませんが、お答えいただければコメントで詳しくお伝えできると思います。完全に行き詰まってしまいました。どうか宜しくお願いします。
回答: 前回質問のサンプルソースでページの取得にわざわざLWP::UserAgentを使う必要は無いかと思います。 LWP::Simpleを使って以下のようにすればうまく行きました。 ``` use LWP::Simple; for(my $i = 1;$i <= 10;$i++){ # とりあえず10ページ取得 my $url = "http://otd1.jbbs.livedoor.jp/18972/bbs_plain?base=$i&range=1"; parse(get($url)); } sub parse{ my ($data) = @_; my $decoder = Encode::Guess->guess($data); my $string = $decoder->decode($data); ... ```