Email::AddressParser - RFC 2822 Address Parsing and Creation
my @addresses = Email::AddressParser->parse($line);
my $address = Email::AddressParser->new(Tony => 'tony@localhost');
This class is a near drop-in replacement for the regex parsing of
Email::Address, which has serious issues for production use (exponential to
infinite computation time in some cases). It uses code from Mark Crispin's
c-client library to implement the parsing. The resulting parser is much more
stable than the regex-based version of Email::Address.
Note, RFC2822 comments are removed by this version (you can pass them in, and
you can ask for them, but they will always be empty).
my @addrs = Email::Address->parse(
q[me@local, Tony <me@local>, "Tony" <me@local>]
This method returns a list of "Email::Address" objects it finds in
the input string.
There are no comment nesting limitations on this method, though all comments
will be ignored.
my $address = Email::Address->new(undef, 'tony@local');
my $address = Email::Address->new('tony kay', 'tony@local');
my $address = Email::Address->new(undef, 'tony@local', '(tony)');
Constructs and returns a new "Email::AddressParser" object. Takes
four positional arguments: phrase, email, and comment.
my $phrase = $address->phrase;
$address->phrase( "Me oh my" );
Accessor for the phrase portion of an address.
- address my $addr = $address->address; $addr->address(
- Accessor for the address portion of an address.
my $comment = $address->comment;
$address->comment( "(Work address)" );
Accessor for the comment portion of an address. Currently a no-op.
my $printable = $address->format;
Returns a properly formatted RFC 2822 address representing the object.
Parser by Mark Crispin. Perl integration by Anthony Kay <
>. Most documentation shamelessly borrowed from
All parsing code is Copyright (c) 1988-2006 University of Washington, under the
Apache License 2.0. The Perl integration is licesened under the same terms as
Hey! The above document had some coding errors, which are explained
- Around line 153:
- You forgot a '=back' before '=head2'