[kansaipm] Re: Perl 5.6 ネタ
OKABE, Keiichi
okabek at beige.ocn.ne.jp
Tue Apr 4 09:23:29 CDT 2000
岡部です。
----- Original Message -----
From: <mishima at momo.so-net.ne.jp>
To: <kansai-pm-list at pm.org>
Sent: Wednesday, April 05, 2000 8:01 AM
Subject: [kansaipm] Perl 5.6 ネタ
> これについては、Filterというモジュールを使えば...ってあれぇ、マニュア
> ルは入っているのに、Filter モジュール本体が入っていません。とにかく、
> Filterというモジュールを使うと、スクリプトはSJISなりEUCで書いておいて、
> コンパイル直前にUTF8に変換して実行するということができるはずです。但し、
> それなりの負荷はかかります。
Filterはppmを使ってインストールできます。最初はバグがあってインストール
できなかったんですが、バグじゃと騒いで修正してもらいました。
以前にTokyo.pmでわたなべさんに教えてもらったスクリプトがあるので
後ろにくっつけておきます。
open時に簡単に変換できるようになると便利なんですけどねぇ〜
Tkでutf8サポートした窓を作ればよいような気もしてます。(^^)
-- わたなべさん wrote --
% cat SJIS.pm
package SJIS;
use Filter::Util::Call;
use Jcode;
my $jcode = new Jcode;
sub multibyte_filter {
my $status;
if (($status = filter_read()) > 0 ) {
$_ = $jcode->set(\$_, sjis)->utf8;
}
$status;
}
sub import {
filter_add(\&multibyte_filter);
}
1;
% cat test.pl
use SJIS;
use utf8;
my $string = "あいうえお表";
print "code=", scalar Jcode::getcode($string), "\n";
print "length=", length($string), "\n";
% perl test.pl
code=utf8
length=6
---
---
use Tk;$c=tkinit->Canvas(-height=>50,-width=>100)->pack;$a="15115155,223342,
2343,3335,24254544,6163,5292918185,53939484,7273,6465757464";$a=~s/\s//g;
map{s/(\d)/sprintf("%s,",$1*10)/eg;$c->createLine(split /,/,$_)}(split /,/,$a);
MainLoop; #okabek at beige.ocn.ne.jp
More information about the Kansai-pm
mailing list