Subject: Re: [PATCH v2] git-send-email.perl: Add sub maildomain_sanitize

From: Jakub Narebski <[email-masked]>
Date: Fri, 16 Apr 2010 18:11:11 +0200

Jari Aalto wrote:

>     Jakub Narebski <[email-masked]> writes:
>     >   +sub maildomain_sanitize {
>     >   +	local $domain = shift;
>     >   +
>     >   +	#  On Mac, the the domain name is not necessarily in FQDN format
>     >   +	#  Require a period in the string
>     >   +
>     >   +	if ($^O eq 'darwin'  &&  $domain =~ /\.local$/) {
>     >   +		# Nope, pass this one.
>     >   +	} elsif ($domain =~ /\./) {
>     >   +		return $domain;
>     >   +	}
>     >   +}
> 
>     Thanks for 2nd eye. Changed these in above:
> 
>     * Starting brace placement at function start
>     * Placement of else
>     * Maybe: use or "return" (debatable).
> 
>     But not these. Motivation:
> 
>     * The "$_" simplifies usage everywhere in the function. XP: less is more.
>     * The "and" is more readable than "&&". The "and" is also safer
>       due to its lower precedence.

O.K.

Note however that while setting $_ ($ARG with English) simplifies regexp
matching, you have to take care to use

   local $_ = shift;

and not

   my $_ = shift; 

And to use 'local'.

A bit of "difficulty conservation" at work.

[...]
> +sub maildomain_sanitize {
> +	local $_ = shift;
> +
> +	#  On Mac, the the domain name is not necessarily in FQDN format.
> +	#  Require a period in the string.
> +
> +	if ( $^O eq 'darwin'  and  /\.local$/ ) {
> +		# Nope, pass this one.
> +	} elsif ( /\./ ) {
> +		return $_;
> +	}
> +}

-- 
Jakub Narebski
Poland