On Thu, 2011-04-21 at 00:29 +0200, Ãvar ArnfjÃrà Bjarmason wrote: > On Wed, Apr 20, 2011 at 23:50, Joe Perches <joe@xxxxxxxxxxx> wrote: > > + my ($recipient_name, $recipient_addr) = ($recipient =~ /^\s*(.*?)\s*(<[^>]+>)/); > In Perl you can write (<.*?>) instead of (<[^>]+>) Hey Ãvar. That matches <>. Not a good email address. This is what linux/scripts/get_maintainers.pl uses: sub parse_email { my ($formatted_email) = @_; my $name = ""; my $address = ""; if ($formatted_email =~ /^([^<]+)<(.+\@.*)>.*$/) { $name = $1; $address = $2; } elsif ($formatted_email =~ /^\s*<(.+\@\S*)>.*$/) { $address = $1; } elsif ($formatted_email =~ /^(.+\@\S*).*$/) { $address = $1; } $name =~ s/^\s+|\s+$//g; $name =~ s/^\"|\"$//g; $address =~ s/^\s+|\s+$//g; if ($name =~ /[^\w \-]/i) { ##has "must quote" chars $name =~ s/(?<!\\)"/\\"/g; ##escape quotes $name = "\"$name\""; } return ($name, $address); } There's probably some weakness in that. > If this program doesn't have some extract_emails_from_string() > function already it probably should. Maybe it does. It currently uses "sanitize_address". -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html