On Sun, Jul 31, 2005 at 07:52:42PM -0400, Ryan Anderson wrote: > On Sun, Jul 31, 2005 at 02:45:29AM -0700, Junio C Hamano wrote: > > Ryan Anderson <[EMAIL PROTECTED]> writes: ... > > > > Also you seem to be losing the ordering in @to and @cc by the > > use of uniquefying "keys %to" and "keys %cc". I can not offhand > > tell if it matters, but you probably would care, at least for > > the primary recipients listed in @to array. > > Well, it was kind of annoying to see the same email address appear 2-3 > times in the email, because of the way I pull in all the relevant emails > from various places. So I really needed a way to cull the duplicates. > I don't believe ordering is really significant in To: or Cc: lines, for > really anyone. I could do soemthing like this, instead, I suppose: > > my @clean_to = (); > my %dupe_check_to = (); > foreach my $to_entry (@to) { > if (!$dupe_check_to{Email::Valid->address($to_entry)}++) { > push @clean_to, $to_entry; > } > } > > my $to = join(", ", @clean_to); > > I just like the first one a little better (though, I can't really pin > down why).
Or, more simply (if perl'y): my %tmp; @to = grep { ! $tmp{Email::Valid->address($_)}++ } @to; ...although I'd probably defensively localize the temporary var: { my %tmp; @to = grep { ! $tmp{Email::Valid->address($_)}++ } @to; } -- Short-term expediency always fails in the long term. -- The Preacher at Arrakeen +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Noel Maddy <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html