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'
);
$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'