Re: [PATCH] Cleanup git-send-email.perl:extract_valid_email
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jun 6, 2006, 15:54 UTC
- Message-ID
- <7vpshmth3q.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <200606061542.k56Fg9Cm006226@laptop11.inf.utfsm.cl>
Horst von Brand <vonbrand@inf.utfsm.cl> writes:
Show 17 quoted lines
>> diff --git a/git-send-email.perl b/git-send-email.perl
>> index a7a7797..700d0c3 100755
>> --- a/git-send-email.perl
>> +++ b/git-send-email.perl
>> @@ -312,16 +312,18 @@ our ($message_id, $cc, %mail, $subject,
>>
>> sub extract_valid_address {
>> my $address = shift;
>> + my $local_part_regexp = '[^<>"\s@]+';
>> + my $domain_regexp = '[^.<>"\s@]+\.[^<>"\s@]+';
>
> This forces a '.' in the domain, while vonbrand@localhost is perfectly
> reasonable. Plus it doesn't disallow adyacent '.'s. What about:
>
> my $domain_regexp = '[^.<>"\s@]+(\.[^<>"\s@]+)*';
>
> (but this is probably nitpicking...)I do not have preference either way about allowing an address like tld-administrator@net myself, but Email::Valid->address does not seem to allow it, and I just copied that behaviour for consistency between two alternative implementations.
I think you meant to say:
> my $domain_regexp = '[^.<>"\s@]+(\.[^.<>"\s@]+)*';
(i.e. exclude dot from the latter character class), but I am inclined to do this instead:
my $domain_regexp = '[^.<>"\s@]+(?:\.[^.<>"\s@]+)+';
(i.e. still require at least two levels).