Encode.pmを用いてMIMEヘッダ用にエンコードする時、MIME-Headerを指定した場合にutf8フラグが付いたままになる。
use strict; use warnings; use Encode; use Devel::Peek; my $fromname = decode_utf8('メメメモモ <memememomo@gmail.com>'); Dump encode('MIME-Header', $fromname); # SV = PV(0x9fa8d58) at 0x9fd9c98 # REFCNT = 1 # FLAGS = (TEMP,POK,pPOK,UTF8) # PV = 0x9d12a60 "=?UTF-8?B?44Oh44Oh44Oh44Oi44OiIA==?=<memememomo@gmail.com>"\0 [UTF8 "=?UTF-8?B?44Oh44Oh44Oh44Oi44OiIA==?=<memememomo@gmail.com>"] # CUR = 58 # LEN = 60 Dump encode('MIME-Header-ISO_2022_JP', $fromname); # SV = PV(0x9f9e928) at 0xa022008 # REFCNT = 1 # FLAGS = (TEMP,POK,pPOK) # PV = 0x9f16b68 "=?ISO-2022-JP?B?GyRCJWElYSVhJWIlYhsoQg==?= <memememomo@gmail.com>"\0 # CUR = 65 # LEN = 68
encodeしてるからutf8フラグなくなって欲しいんだけどなー。