« ブログ上に数式を | メイン | 入籍 »

2009年12月22日

JPerl Advent Calendar Casual Trackに記事を書いたら長年悩んでいた問題が解決したでござるの巻

最近全然Blog更新しておりませんが、今回も単なる告知です。内容はタイトルのとおりです。EmEditorのPerlマクロに関する話です。周りが凄い人ばかりなので、ビビりながら書きました。

http://perl-users.jp/articles/advent-calendar/2009/casual/15.html

ちなみにユニコードを扱う方法が分からなかったのですが、id:xaicronさんがTwitterで話しかけてくださって、見事に解決してくれました。こんな感じ。

use utf8;
use Win32::OLE;
Win32::OLE->Option( CP=>Win32::OLE::CP_UTF8 ); #ここで指定
my $nihao = '你好!统一码';
$Window->OutputBar->writeln($nihao); #flagged utf8を直接渡す

flagged utf8を直接出力に渡すってのはちょっと気持ち悪い感じがしますが、EmEditorマクロの場合はそうしないと文字化けしてしまいます。

まあ、これでutf8が使えるようになり、アウトプットバーに中国語も表示されるようになりました。これでEmEditor上でのTwitterライフがさらに充実します。数日前に、Twitterがクラックされた際に、みんな面白がって、アラビア語をPostしてましたが、それもばっちり読むことが出来ました。

Win32::OLE->Option( CP=>Win32::OLE::CP_UTF8 );はPerlでExcel等を扱うときなんかによく使うみたいで、いやー勉強になりました。

情報を提供するよりもむしろ情報を提供してもらっちゃいました。Perl Mongersの文化は素晴らしい。てーかAdvent Calendarの方も追記して書き換えておかないといけませんね。

そのxaicronさんが、hacker Trackに寄稿した「Windows環境でUnicodeファイルを扱う」はPerlでUnicodeファイル名を扱うためのモジュールの話で、これも非常に勉強になった。前職で同僚が中国語ファイル名とか作ることが多かったから、これを知っていれば少し楽になった部分もあるなぁとか。

私もPAUSEアカウント申請して、申請も通ったので、来年はPerlモジュールを書いて念願のCPAN Authorになろうと思います。ネタは色々あるので今年中でも良いんですけど。

投稿者 Songmu : 2009年12月22日 23:19