#!/usr/bin/perl # Copyright (C) 1993-94 Noboru Ikuta # # rmime: MIME-header decoder Ver.1.11a # メッセージヘッダ中(先頭から最初の空行まで)に含まれる encoded-word # ("=?ISO2022-JP?B?" と "?=" に囲まれた文字列)をサーチしてデコード # する。encoded-word にはさまれた空白は全て除去する。オプションスイッ # チを指定することにより MIME 梱包を解いた部分の漢字コードを 7bit JIS # から Shift-JIS または EUC に変換することができる。 # # 入力漢字コードは固定(7bit JIS)ですが、出力漢字コードは指定できます。 # なお、出力漢字コードのデフォルトは 7bit JIS(透過)です。 # # 使い方 : [ [j]perl ] rmime [ -s|-e|-j ] [ ファイル名 ...] # # mimer.pl は、環境変数 HOME→rmimeと同じ→通常の@INC の順にサ # ーチされます。 # # 注意 : rmimeをjperl(の2バイト文字対応モード)で使用するときは、tr/// # の書き方が異なりますので、必要に応じて mimer.pl 中の 'sub j2e' # のコメント(#)を付け替えてください。jperl1.4以上を -Llatin オプ # ション付きで使用する場合およびEUC変換機能を使わない場合はその必 # 要はありません。 # # 配布条件 : 著作権は放棄しませんが、配布・改変は自由とします。 $home = $ENV{'HOME'}; $perl_dir = $0; $perl_dir =~ s/\\/\//g; substr($perl_dir, rindex($perl_dir, "/")) = ''; unshift(@INC, $home, $perl_dir); require 'mimer.pl'; ## オプションスイッチ判断のためのテーブル %kanjicode = ( "-e", "EUC", "-s", "SJIS", "-E", "EUC", "-S", "SJIS" ); ## 出力漢字コードの設定 (UNDEF は 7bit JIS) shift if ( $ARGV[0] =~ /^-[esj]$/i ); $kout = $kanjicode{$&}; ## メッセージヘッダの処理 $/ = "\n\n"; $* = 1; $_ = <>; print &mimedecode($_,$kout); ## メッセージボディの処理 $/ = "\n"; while (<>){ print; }