Anthony W. Kay > Email-AddressParser-0.04 > Email::AddressParser

Download:
Email-AddressParser-0.04.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  0
View/Report Bugs
Module Version: 0.04   Source  

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 ^

Email::Address.

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.

syntax highlighting: