X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=blobdiff_plain;f=bin%2Fparsedb.pl;h=1a0fa394868048c431e7446433e7b04ffc209e11;hp=fc2974775929f5a451813e7c5206d292e1add168;hb=aef5467bfecfd4aeb83146212218c88837466de1;hpb=ca8ac4d50f46a3ab43be87448f903997a42613e3 diff --git a/bin/parsedb.pl b/bin/parsedb.pl index fc29747..1a0fa39 100755 --- a/bin/parsedb.pl +++ b/bin/parsedb.pl @@ -180,19 +180,24 @@ while (my $HeadersR = $DBQuery->fetchrow_hashref) { } 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) { - # 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 (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); } } }