X-Git-Url: http://git.jankratochvil.net/?p=PerlMail.git;a=blobdiff_plain;f=contacts-n9k2mutt;h=5054de95c4ee18da5681a64f5398703c0a7884b7;hp=d9641398277fd4ba1e52b12607f3fc7ea4760f59;hb=cf13558ac1b01fd521a7bb727cd8ab3acecb1211;hpb=c2ccb5629c0279276229ad9cfd4082fd452bb218 diff --git a/contacts-n9k2mutt b/contacts-n9k2mutt index d964139..5054de9 100755 --- a/contacts-n9k2mutt +++ b/contacts-n9k2mutt @@ -8,7 +8,7 @@ use strict; use warnings; require Getopt::Long; -require PrecislovaniLace::Contacts; +require PerlMail::Contacts; require Mail::Address; @@ -34,20 +34,27 @@ while (<>) { "iscompany"=>($record{"Name"} && $record{"Company"} && $record{"Name"} eq $record{"Company"}), })); } @record); - } PrecislovaniLace::Contacts->import($_)); + } PerlMail::Contacts->import($_)); my @nicked=map({ my $data=$_; 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; - (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"=>$_, - "obj"=>Mail::Address->new($name,$mail), + "obj"=>Mail::Address->new(($name_force || $name),$mail), },@nicks); } @data); for (@nicked) {