ジャンル不定の日記です。

Gtk2::Perl付近がなんか変わってるぽい・・・

メイン環境をArch Linuxで作りなおしているところだが、自作のGtk2::Perlアプリが文字化けしてた。

モジュールは、
use Time::Local;
use WWW::Mechanize;
use Gtk2;
use Glib;
use GStreamer -init;
use threads;
use threads::shared;
use Thread::Queue;
こんな感じで、
WWW::Mechanize、Gtk2、GStreamerを追加インストールしたが、全部Archの公式リポジトリから入れれた。

元々、
use open ":utf8";
しているファイルがいくつかあって、作った当時は、単に、
use utf8;
するだけではダメだったんだが、それが必須で、元の設定じゃ文字化けした。

利用しているモジュールのどれかにutf8フラグがついたんだと思う。

PerlのバージョンはUbuntuは5.14?Archのは5.18だった。

もういまさら戻ることはありえないが、PerlのUTF-8の扱いはひどすぎ。
単にusubstrとかulengthとかUTF-8関数があれば済むのにutf8フラグでファイル全体がUTFかするから、
日本人だってプログラムコードは基本バイト単位で書くのに、マルチバイト文字を知らない外人がモジュールにutf8フラグつけるから困るわ。