← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:12 2021

Filename/usr/local/lib/perl5/site_perl/Mail/Field/AddrList.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sMail::Field::AddrList::::BEGIN@12Mail::Field::AddrList::BEGIN@12
0000s0sMail::Field::AddrList::::BEGIN@15Mail::Field::AddrList::BEGIN@15
0000s0sMail::Field::AddrList::::BEGIN@17Mail::Field::AddrList::BEGIN@17
0000s0sMail::Field::AddrList::::BEGIN@18Mail::Field::AddrList::BEGIN@18
0000s0sMail::Field::AddrList::::__ANON__Mail::Field::AddrList::__ANON__ (xsub)
0000s0sMail::Field::AddrList::::addr_listMail::Field::AddrList::addr_list
0000s0sMail::Field::AddrList::::addressesMail::Field::AddrList::addresses
0000s0sMail::Field::AddrList::::createMail::Field::AddrList::create
0000s0sMail::Field::AddrList::::namesMail::Field::AddrList::names
0000s0sMail::Field::AddrList::::parseMail::Field::AddrList::parse
0000s0sMail::Field::AddrList::::set_addressMail::Field::AddrList::set_address
0000s0sMail::Field::AddrList::::stringifyMail::Field::AddrList::stringify
0000s0sMail::Field::::BEGIN@9 Mail::Field::BEGIN@9
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# Copyrights 1995-2019 by [Mark Overmeer <markov@cpan.org>].
2# For other contributors see ChangeLog.
3# See the manual pages for details on the licensing terms.
4# Pod stripped from pm file by OODoc 2.02.
5# This code is part of the bundle MailTools. Meta-POD processed with
6# OODoc into POD and HTML manual-pages. See README.md for Copyright.
7# Licensed under the same terms as Perl itself.
8
9use strict;
10
11package Mail::Field::AddrList;
12use vars '$VERSION';
13$VERSION = '2.21';
14
15use base 'Mail::Field';
16
17use Carp;
18use Mail::Address;
19
20
21my $x = bless [];
22$x->register('To');
23$x->register('From');
24$x->register('Cc');
25$x->register('Reply-To');
26$x->register('Sender');
27
28sub create(@)
29{ my ($self, %arg) = @_;
30 $self->{AddrList} = {};
31
32 while(my ($e, $n) = each %arg)
33 { $self->{AddrList}{$e} = Mail::Address->new($n, $e);
34 }
35
36 $self;
37}
38
39sub parse($)
40{ my ($self, $string) = @_;
41 foreach my $a (Mail::Address->parse($string))
42 { my $e = $a->address;
43 $self->{AddrList}{$e} = $a;
44 }
45 $self;
46}
47
48sub stringify()
49{ my $self = shift;
50 join(", ", map { $_->format } values %{$self->{AddrList}});
51}
52
53
54sub addresses { keys %{shift->{AddrList}} }
55
56
57# someone forgot to implement a method to return the Mail::Address
58# objects. Added in 2.00; a pity that the name addresses() is already
59# given :( That one should have been named emails()
60sub addr_list { values %{shift->{AddrList}} }
61
62
63sub names { map { $_->name } values %{shift->{AddrList}} }
64
65
66sub set_address($$)
67{ my ($self, $email, $name) = @_;
68 $self->{AddrList}{$email} = Mail::Address->new($name, $email);
69 $self;
70}
71
721;