# Process header for (split /^/, $header) { if ( /^From:\s+<(.*?)>/i ) { $from = $1 }; if ( /^Subject:\s+(.*)/i ) { $subject = $1 }; } # Decode body if encoded if ( $header =~ /Content-Transfer-Encoding:\s+base64/is ) { $body = decode_base64($body); } elsif ( $header =~ /Content-Transfer-Encoding:\s+quoted-printable/is ) { $body = decode_qp($body); }