namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Plan for Namazu next version
Ken-ichi Hirose <hirose@xxxxxxxxxxxxxxxxxxxx> wrote:
>そのときは何とか動かすことを考えていたので
>mime はデータ的に無かったので飛ばしました ^^;
>#CPAN にあるのは知ってましたが
MIME::Base64 を元に作ってみました。
おそらく Mail/News の Subject:, From: の部分にだけこれを適用すれば
いいんじゃないかと思います。これで nkf を捨てられるかな。nkf を使
わなくするなんて絶対に反対! という方がいたらご意見ください。
pwd, date, cp についても Perl 側で処理することにしたので、 Win32
での (インデクサの) 動作もずいぶん楽になるのではないかと思います。
# なにより UNIX/Win32 とコードの一元化ができるのが良いですね。
sub mime_decode ($) {
my ($str) = @_;
$str =~ s/^[ \t]+//m;
$str =~ s/[\r\n]+/ /;
$str =~ s/=\?ISO-2022-JP\?B\?(.*?)=\?=/decode_base64($1)/gei;
&jcode::convert(*str,'euc');
$str;
}
sub decode_base64 ($) {
my ($str) = @_;
my ($len, $res);
$str =~ tr|A-Za-z0-9+/| -_|;
$len = chr(32 + length($str)*3/4); # compute length byte
$res = unpack("u", $len . $str ); # uudecode
$res;
}
--
高林 哲 Satoru Takabayashi