Perl モジュール Net-Twitter-3.13003 でステータスアップデートに失敗する
自分用に Twitter の更新をしてるOSをインストールし直したので、Perl モジュールも入れ直したら、ステータスを更新しようとポストすると「Incorrect Signature」になってしまう。
UTF-8フラグが立っているのに、さらにデコードをしようとしてるため、どうもおかしくなってるらしい。
ということで、(余りしたくないけど)インストールされたモジュールのソースを直接いじって修正。
--- /usr/local/libdata/perl5/site_perl/Net/OAuth/Message.pm.org Sun Jun 13 02:13:58 2010 +++ /usr/local/libdata/perl5/site_perl/Net/OAuth/Message.pm Sun Jun 13 03:20:48 2010 @@ -104,7 +104,7 @@ if ($str =~ /[\x80-\xFF]/) { Net::OAuth::smart_require('Encode', 1); no strict 'subs'; - if (Encode::is_utf8($str)) { + if (!Encode::is_utf8($str)) { # Avoid double-encoding UTF-8. # Ideally the caller would have done this already # But perl5 + unicode is very confusing, so try to be helpful..
まぁ、UTF-8のチェックの判定結果を反転させてるだけですが…。
あっ、インストール先のパスは他の環境では同じか知らん(絶対パスで載せたのは自分用のメモ)