On Sat, Apr 18, 2009 at 10:37 PM, Michael Witten <mfwitten@xxxxxxxxx> wrote: > On Sat, Apr 18, 2009 at 20:54, Jay Soffian <jaysoffian@xxxxxxxxx> wrote: >> On Sat, Apr 18, 2009 at 1:02 PM, Michael Witten <mfwitten@xxxxxxxxx> wrote: >>> + my $sanitized_subject = ($subject =~ /[^[:ascii:]]/) ? quote_rfc2047($subject) : $subject; >> >> I wonder if it would be clearer to always call quote_rfc2047, then >> have that function just return its input unaltered if quoting is not >> needed. > > It actually ALWAYS changes the input. This code: I think I was not clear. My suggestion was to move the /[^[:ascii:]]/ check to the inside of quote_rfc2047 exactly so that it doesn't always change its input. i.e. > sub quote_rfc2047 { > local $_ = shift; Add this: return $_ unless /[^[:ascii:]]/; > my $encoding = shift || 'utf-8'; > s/([^-a-zA-Z0-9!*+\/])/sprintf("=%02X", ord($1))/eg; > s/(.*)/=\?$encoding\?q\?$1\?=/; > return $_; > } This simplifies things for the function caller I think. j. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html