On Sun, Nov 04, 2001 at 08:25:05PM +0100, David Haller wrote:
#!/usr/local/bin/perl -w use strict; use MIME::QuotedPrint; use MIME::Base64;
sub mime_decode { my $tmp = shift; if ( $tmp =~ /(.*)=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[qQ]\?(.*)\?=(.*)/) { $tmp =~ s/=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[qQ]\?(.*)\?=/$1/g; $tmp =~ s/_/ /g; $tmp = decode_qp($tmp); } elsif ( $tmp =~ /(.*)=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[bB]\?(.*)\?=(.*)/) { $tmp =~ s/=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[bB]\?(.*)\?=/$1/g; $tmp = MIME::Base64::decode($tmp); } return $tmp; }
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; $_ = return MIME::Base64::decode($_); } return $_; } ungetestet ;) //i bedeutet case-insensitiv Gruss, Oliver