+ } elsif ( $attr->{type} eq 'homePostalAddress' ) {
+ foreach my $val ( @{ $attr->{vals} } ) {
+ next if $val !~ m{^(.+)\s*,\s*(\d+)\s+(.+)};
+ push @attrs,
+ { type => 'homePostalAddress_address', vals => [ $1 ] },
+ { type => 'homePostalAddress_zipcode', vals => [ $2 ] },
+ { type => 'homePostalAddress_city', vals => [ $3 ] };
+ }
+ } elsif ( $attr->{type} eq 'mail' ) {
+ my @emails;
+ foreach my $i ( 0 .. $#{ $attr->{vals} } ) {
+ my $e = $attr->{vals}->[$i];
+ if ( $e =~ m/\s+/ ) {
+ push @emails, split(/\s+/, $e);
+ } else {
+ push @emails, $e;
+ }
+ }
+ $attr->{vals} = [ shift @emails ];
+ foreach my $i ( 0 .. $#emails ) {
+ push @attrs, { type => $attr->{type} . '_' . ( $i + 1 ) , vals => [ $emails[$i] ] };
+ }