加藤です。

Mizuno, MWE wrote:
> Perl5.8.7のEncodeでMIME-Headerをデコードしているのですが,
> 一部に
> 
>     =?x-user-defined?Q?=A0?=
> 
> などとなっている記事があり, デコードできずにエラーになります。
> 
> % /usr/local/bin/perl -e 'use Encode; $a="=?x-user-defined?Q?=A0?="; decode("MIME-Header", $a, Encode::HTMLCREF);'
> Unknown encoding "x-user-defined" at /usr/local/lib/perl5/5.8.7/mach/Encode.pm line 166
> 
> エンコーディング名が不明なら不明でそのまま素通ししてくれれば良いのですが,
> 必ずエラーになるため他の記事の処理も含めて中断されてしまい困っています。
> 何か良い手はないでしょうか?
> 

decode する前に、Encode::Alias を使って、
x-user-defined を、 latin1 とか適当な Encoding のエイリアスとして
登録してみてはどうでしょうか。

% perl -MEncode::Alias -e 'define_alias(qr/^x-user-defined$/ =>
q/"latin1"/);'

-- 
加藤 明
mail : turugina@floralcompany.jp (:private)
web  : http://floralcompany.jp/