git://git.jankratochvil.net
/
PerlMail.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c398068
)
Fixed handling of multiple e-mails in single CSV row record.
author
short
<>
Sun, 19 Dec 2004 11:47:47 +0000
(11:47 +0000)
committer
short
<>
Sun, 19 Dec 2004 11:47:47 +0000
(11:47 +0000)
PerlMail/Contacts/9210.pm
patch
|
blob
|
history
diff --git
a/PerlMail/Contacts/9210.pm
b/PerlMail/Contacts/9210.pm
index
6980115
..
9d7a880
100644
(file)
--- a/
PerlMail/Contacts/9210.pm
+++ b/
PerlMail/Contacts/9210.pm
@@
-73,8
+73,9
@@
my($self,$data)=@_;
for my $fields (@F) {
@names==@$fields or die "Fields line fields do not match the header names number";
my $id=$fields->[0];
for my $fields (@F) {
@names==@$fields or die "Fields line fields do not match the header names number";
my $id=$fields->[0];
- my($
mail_name,$
mail_data);
+ my($
omail_name,$o
mail_data);
my($name_last,$name_first);
my($name_last,$name_first);
+ my @mail;
for my $fieldi (1..$#names) {
my $string=$fields->[$fieldi];
next if $string eq "";
for my $fieldi (1..$#names) {
my $string=$fields->[$fieldi];
next if $string eq "";
@@
-97,13
+98,16
@@
my($self,$data)=@_;
} if $first;
}
elsif ($name eq "Other Mail desc.") {
} if $first;
}
elsif ($name eq "Other Mail desc.") {
- $mail_name=$string;
+ $
o
mail_name=$string;
}
elsif ($name eq "Other Mail") {
}
elsif ($name eq "Other Mail") {
- $mail_data=$string;
+ $
o
mail_data=$string;
}
elsif ($name eq "Mail") {
}
elsif ($name eq "Mail") {
- $mail_data=$string;
+ push @mail,undef()=>$string;
+ }
+ elsif ($name=~/^Mail [(](.*)[)]$/) {
+ push @mail,$1=>$string;
}
}
my $name=$name_last;
}
}
my $name=$name_last;
@@
-112,11
+116,16
@@
my($self,$data)=@_;
"FIELD"=>"Name",
"FIELD-DATA"=>$name,
} if defined $name;
"FIELD"=>"Name",
"FIELD-DATA"=>$name,
} if defined $name;
- push @{$id{$id}{""}},{
- "FIELD"=>"Mail",
- "FIELD-NAME"=>$mail_name,
- "FIELD-DATA"=>$mail_data,
- } if $mail_name||$mail_data;
+ push @mail,$omail_name=>$omail_data if defined $omail_data;
+ while (@mail) {
+ my $name=shift @mail;
+ my $data=shift @mail;
+ push @{$id{$id}{""}},{
+ "FIELD"=>"Mail",
+ "FIELD-NAME"=>$name,
+ "FIELD-DATA"=>$data,
+ };
+ }
}
return map(($id{$_}{""}||()),(sort { ($a<=>$b); } keys(%id)));
}
}
return map(($id{$_}{""}||()),(sort { ($a<=>$b); } keys(%id)));
}