git://git.jankratochvil.net
/
PerlMail.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reduce bells, be more silent
[PerlMail.git]
/
contacts-n9k2mutt
diff --git
a/contacts-n9k2mutt
b/contacts-n9k2mutt
index
d964139
..
fb3ef21
100755
(executable)
--- a/
contacts-n9k2mutt
+++ b/
contacts-n9k2mutt
@@
-40,14
+40,21
@@
while (<>) {
my($name,$mail,$attr,$iscompany)=map(($data->{$_}),qw(name mail attr iscompany));
$name=~s/,.*$//s;
my @nicks=();
my($name,$mail,$attr,$iscompany)=map(($data->{$_}),qw(name mail attr iscompany));
$name=~s/,.*$//s;
my @nicks=();
- push @nicks,$1 while $name=~s/"([^"]*)"//s;
+ my $name_force;
+ while ($name=~s/"([^"]*)"([!])?//s) {
+ push @nicks,$1;
+ $name_force=$1 if $2;
+ }
$name=~s/\s*$//s;
$name=~s/^(\w+)\s+(\w+)$/$2 $1/s if !$iscompany;
$name=~s/\s*$//s;
$name=~s/^(\w+)\s+(\w+)$/$2 $1/s if !$iscompany;
- (my $nick=$name.(!$attr ? "" : ".$attr"))=~s/\s+/./gs;
- push @nicks,$nick;
+ push @nicks,$name if !$name_force;
+ for (@nicks) {
+ $_.=".$attr" if $attr;
+ s/\s+/./gs;
+ }
map({
"nick"=>$_,
map({
"nick"=>$_,
- "obj"=>Mail::Address->new(
$name
,$mail),
+ "obj"=>Mail::Address->new(
($name_force || $name)
,$mail),
},@nicks);
} @data);
for (@nicked) {
},@nicks);
} @data);
for (@nicked) {