[Tokyo.pm] jus Benkyoukai
WATANABE Hirofumi
watanabe @ ase.ptg.sony.co.jp
1999年 9月 9日 (木) 21:20:16 CDT
わたなべです.
"OKABE, Keiichi" <okabek @ beige.ocn.ne.jp> writes:
:> Filter module を使って utf8 に変換してってのは激遅かなあ.
:> 以前 16 進に変換するのを作ったら 10 倍ぐらい遅くてこりゃだめ
:…
:
:Filter module ってなんですか? そういうモジュールがあるんでしょうか。
CPAN にあります. 簡単に言うと source となる script 自体
filter をかけてから実行できるといったもんです.
というわけで岡部さんが期待してるのとはちょっと違うかも.
試しに作ったのはこんな感じです.
package SJIS;
use Filter::Util::Call;
sub multibyte_filter {
my $status;
if (($status = filter_read()) > 0 ) {
s/([\x81-\x9f\xe0-\xef])([\x40-\x7e\x80-\xfc])/
sprintf("\\x%02x\\x%02x",ord($1),ord($2))
/eg;
}
$status;
}
sub import {
filter_add(\&multibyte_filter);
}
1;
これをたとえば SJIS.pm とすると
use SJIS;
print "表十ソ\n";
のようにすれば jperl を使わなくても化けずに実行できます.
utf8 に変換するコマンドがあれば(toutf8 とする)
use Filter::sh 'toutf8';
print "ほげ\n";
でいけそうな気も.
あ, でもこれは script だけなのでファイルの入出力には別に用意
しないとだめですね.
--
わたなべひろふみ
すみません. また直に送っちゃいました.
Tokyo-pm メーリングリストの案内