EncodeモジュールでISO-2022-JPでエンコードできるのはPerl 5.8.6あたりからかな

EncodeモジュールでのMIME Encode
http://www.ksknet.net/perl/encodemime_enco.html

Encodeモジュールで文字コードの変換ができるが、MIMEエンコードをするには以下のようにすればよい。


use Encode;


encode('MIME-Header-ISO_2022_JP', $subject)

詳細はperldoc Encode::MIME::Headerを参照。


ということで、

use utf8;
$subject="ほげ";
 
use MIME::Words qw (:all);
my $tmp = encode_mimeword(encode('ISO-2022-JP',$subject), 'B', 'ISO-2022-JP');
 
print $tmp."\n";
 
use Encode;
my $tmp = encode('MIME-Header-ISO_2022_JP', $subject);
 
print $tmp."\n";

同じだってことなんですけれども、CentOS 4.4 に入っている Perl 5.8.5 に添付の Encode モジュール(2.0.1だって)はサポートしていないくさいです。ISO_2022_JPてなに?てきいてきます。

Unknown encoding 'MIME-Header-ISO_2022_JP' at pl.pl line 10

注意。