NAME
Email::AddressParser - RFC 2822 Address Parsing and Creation
SYNOPSIS
use Email::AddressParser;
my @addresses = Email::AddressParser->parse($line);
my $address = Email::AddressParser->new(Tony => 'tony@localhost');
print $address->format;
VERSION
version 0.01
DESCRIPTION
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).
Class Methods
- parse
-
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.
- new
-
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.
Instance Methods
- phrase
-
my $phrase = $address->phrase; $address->phrase( "Me oh my" );
Accessor for the phrase portion of an address.
- address my $addr = $address->address; $addr->address( "me@PROTECTED.com" );
-
Accessor for the address portion of an address.
- comment
-
my $comment = $address->comment; $address->comment( "(Work address)" );
Accessor for the comment portion of an address. Currently a no-op.
- format
-
my $printable = $address->format;
Returns a properly formatted RFC 2822 address representing the object.
SEE ALSO
AUTHOR
Parser by Mark Crispin. Perl integration by Anthony Kay <tkay@cs.uoregon.edu>. Most documentation shamelessly borrowed from Email::Address.
COPYRIGHT
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 Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 153:
You forgot a '=back' before '=head2'