projects
/
usenet
/
newsstats.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle more than one entitiy in From: etc.
[usenet/newsstats.git]
/
bin
/
parsedb.pl
diff --git
a/bin/parsedb.pl
b/bin/parsedb.pl
index
fc29747
..
1a0fa39
100755
(executable)
--- a/
bin/parsedb.pl
+++ b/
bin/parsedb.pl
@@
-180,19
+180,24
@@
while (my $HeadersR = $DBQuery->fetchrow_hashref) {
} else {
@Address = Mail::Address->parse($Headers{$_});
}
} else {
@Address = Mail::Address->parse($Headers{$_});
}
- # split each Mail::Address object
+ # split each Mail::Address object to @Names and @Adresses
+ my (@Names,@Adresses);
foreach (@Address) {
foreach (@Address) {
- # take address part
-
$Headers{$HeaderName.'_address'} = $_->address(
);
+ # take address part
in @Addresses
+
push (@Adresses, $_->address()
);
# take name part form "phrase", if there is one:
# From: My Name <addr@ess> (Comment)
# otherwise, take it from "comment":
# From: addr@ess (Comment)
# take name part form "phrase", if there is one:
# From: My Name <addr@ess> (Comment)
# otherwise, take it from "comment":
# From: addr@ess (Comment)
- $Headers{$HeaderName.'_name'} = $_->comment()
- unless $Headers{$HeaderName.'_name'}= $_->phrase;
- $Headers{$HeaderName.'_name'} =~ s/^\((.+)\)$/$1/;
- # FIMXE - handle more than one Mail::Address object!
+ # and push it in @Names
+ my ($Name);
+ $Name = $_->comment() unless $Name = $_->phrase;
+ $Name =~ s/^\((.+)\)$/$1/;
+ push (@Names, $Name);
}
}
+ # put all @Adresses and all @Names in %Headers as comma separated lists
+ $Headers{$HeaderName.'_address'} = join(', ',@Adresses);
+ $Headers{$HeaderName.'_name'} = join(', ',@Names);
}
}
}
}
}
}
This page took
0.01091 seconds
and
4
git commands to generate.