]> Sergey Matveev's repositories - public-inbox.git/blob - lib/PublicInbox/Address.pm
remove Email::Address dependency
[public-inbox.git] / lib / PublicInbox / Address.pm
1 # Copyright (C) 2016 all contributors <meta@public-inbox.org>
2 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
3 package PublicInbox::Address;
4 use strict;
5 use warnings;
6
7 # very loose regexes, here.  We don't need RFC-compliance,
8 # just enough to make thing sanely displayable and pass to git
9
10 sub emails { ($_[0] =~ /([^<\s]+\@[^>\s]+)/g) }
11
12 sub from_name {
13         my ($val) = @_;
14         my $name = $val;
15         $name =~ s/\s*\S+\@\S+\s*\z//;
16         if ($name !~ /\S/ || $name =~ /[<>]/) { # git does not like [<>]
17                 ($name) = emails($val);
18                 $name =~ s/\@.*//;
19         }
20         $name =~ tr/\r\n\t/ /;
21         $name =~ s/\A\s*//;
22         $name;
23 }
24
25 1;