Current Path : /usr/local/lib/perl5/site_perl/5.8.9/Mail/Field/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/lib/perl5/site_perl/5.8.9/Mail/Field/AddrList.pm |
# Copyrights 1995-2008 by Mark Overmeer <perl@overmeer.net>. # For other contributors see ChangeLog. # See the manual pages for details on the licensing terms. # Pod stripped from pm file by OODoc 1.05. use strict; package Mail::Field::AddrList; use vars '$VERSION'; $VERSION = '2.04'; use base 'Mail::Field'; use Carp; use Mail::Address; my $x = bless []; $x->register('To'); $x->register('From'); $x->register('Cc'); $x->register('Reply-To'); $x->register('Sender'); sub create(@) { my ($self, %arg) = @_; $self->{AddrList} = {}; while(my ($e, $n) = each %arg) { $self->{AddrList}{$e} = Mail::Address->new($n, $e); } $self; } sub parse($) { my ($self, $string) = @_; foreach my $a (Mail::Address->parse($string)) { my $e = $a->address; $self->{AddrList}{$e} = $a; } $self; } sub stringify() { my $self = shift; join(", ", map { $_->format } values %{$self->{AddrList}}); } sub addresses { keys %{shift->{AddrList}} } # someone forgot to implement a method to return the Mail::Address # objects. Added in 2.00; a pitty that the name addresses() is already # given :( That one should have been named emails() sub addr_list { values %{shift->{AddrList}} } sub names { map { $_->name } values %{shift->{AddrList}} } sub set_address($$) { my ($self, $email, $name) = @_; $self->{AddrList}{$email} = Mail::Address->new($name, $email); $self; } 1;