NAME

Email::MIME::RFC2047::Decoder - Decoding of non-ASCII MIME headers

SYNOPSIS

use Email::MIME::RFC2047::Decoder;

my $decoder = Email::MIME::RFC2047::Decoder->new();

my $string = $decoder->decode_text($encoded_text);
my $string = $decoder->decode_phrase($encoded_phrase);

DESCRIPTION

This module decodes parts of MIME email message headers containing non-ASCII text according to RFC 2047.

CONSTRUCTOR

new

my $decoder = Email::MIME::RFC2047::Decoder->new();

Creates a new decoder object.

METHODS

decode_text

my $string = $decoder->decode_text($encoded_text);

Decodes any MIME header field for which the field body is defined as '*text' (as defined by RFC 822), for example, any Subject or Comments header field.

$encoded_text can also be a reference to a scalar. In this case the scalar is processed starting from the current search position. See "pos" in perlfunc.

The resulting string is trimmed and any whitespace is collapsed.

decode_phrase

my $string = $decoder->decode_phrase($encoded_phrase);

Decodes any 'phrase' token (as defined by RFC 822) in a MIME header field, for example, one that precedes an address in a From, To, or Cc header.

This method works like decode_text but additionally unquotes any 'quoted-strings'. It also stops at any special character as defined by RFC 822. If $encoded_phrase is a reference to a scalar the current search position is set accordingly. This is helpful when parsing RFC 822 address headers.

AUTHOR

Nick Wellnhofer <wellnhofer@aevum.de>

COPYRIGHT AND LICENSE

Copyright (C) Nick Wellnhofer, 2009

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.0 or, at your option, any later version of Perl 5 you may have available.