Perl編に対抗してこんなの書いてみました。Ruby1.8*で確認。
なお、一度EUCに変換する必要は本来ないと思う。
def qptoutf8(a)
r = ''
if a != nil && a != "" && a !~ /^(From|Date|Subject|X\-Mailer):/i
b = a.unpack("M")
(0..b.length-1).each {|c|
if b[c] != nil && b[c] != ""
r += Uconv::euctou8(b[c].kconv(Kconv::EUC))
end
}
end
if r == ''
a
else
r.gsub! /</,'<'
r.gsub! />/,'>'
r
end
end