On Mon, Nov 05, 2001 at 01:51:17PM +0100, /me wrote:
sauberer:
sub mime_decode { if (/=\?iso-\d*-\d*\?q\?(.*)\?=/i) { s/=\?iso-\d*-\d*\?q\?(.*)\?=/$1/gi; s/_/ /g; $_ = decode_qp($_); } elsif (/=\?iso-\d*-\d*\?b\?(.*)\?=/i) { s/=\?iso-\d*-\d*\?b\?(.*)\?=/$1/gi; $_ = MIME::Base64::decode($_); } return $_; }
mehrere Fehler drin :( noch besser: sub mime_decode { $_ = shift; s/=\?iso-\d*-\d*\?(q|b)\?(.*)\?=/$2/gi && do { if ($1 eq 'q') { s/_/ /g; $_ = decode_qp($_); } else { $_ = MIME::Base64::decode($_); } }; # semicolon ist wichtig! return $_; }
ungetestet ;) (immernoch)
Regulaere Ausdruecke sind recht aufwendig. So geht es schneller. Gruss, Oliver