MTWeather プラグインをバージョンアップ ver 1.09
MTWeather 1.0 系になってから Perl 5.6 な環境で utf8 を使われている場合、文字化けが発生して泣く泣くプラグインを外した方も多いと聞きます。本当に申し訳ありません。ちょっと前に、「UTF-8 フラグと戦う人へ - にぽたん研究所」なる記事がありまして、Perl のバージョンにかかわらず UTF-8 フラグを旨く処理するモジュール - Unicode-RecursiveDowngrade の存在をしりました。
いつか、MTWeather にいれなきゃと思いつつ時間がとれず、本日めでたく時間がとれて Unicode::RecursiveDowngrade を使って書き換えてみました。文字化けで諦めた方は再チャレンジしてみて下さい。逆に、入れ替えて文字化けしたって方は、utfflag オプションの 0/1 を逆にしてみて下さい。
ここから先は、Perl 使いの方以外は関係ありませんが、備忘録です。
開発したご本人のコメントによると、
Unicode::RecursiveDowngrade
hashref とか、arrayref とか複雑な構造になった変数 (たとえば XML や RSS を XML::Simple や XML::RSS 等で parse した構造) を、構造を変えることなく、値全ての UTF-8 フラグを一括で落としたい場合にベンーリ。
だそうで、変数の構造にかかわらず、階層をたどって全部 UTF-8 フラグを一括処理してくれるところが素敵です。実際に UTF-8 フラグを落とすコードは
とたった一行です。今後いろいろなところでお世話になりそうなモジュールです。
コメントやシェアをお願いします!
ロバノパンヤ
MTWeather1.09を活用させていただいておりますが、3/2くらいから急に表示されなくなりました。
MTWeather1.09はもう動かないのでしょうか?
こちらでも原因を切り分けておりますが、お教えいただければと思います。
では、よろしくお願い致します。
drk
ロバノパンヤさん>ご報告有り難うございます。取得もとページが若干変更されたため、情報が取得できなくなっていたようです。修正しましたので、明日から正常にデータが表示されると思います。
ロバノパンヤ
MTWeather1.09を活用させていただいておりますが、本日から急に表示されなくなりました。調べていきますとどうも11/1の各地のdrk7.jpから取得しているXMLファイルでareaに地名等何も入っていないように見受けられます。
ご確認いただければ幸いです。