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