[tpm] Split a string in half
John Macdonald
john at perlwolf.com
Tue Mar 24 07:36:42 PDT 2009
On Mon, Mar 23, 2009 at 01:58:17PM -0400, Madison Kelly wrote:
> Abuzar Chaudhary wrote:
>> my $s1 = substr($s, 0, int(length($s)/2));
>> my $s2 = substr($s, int(length($s)/2)+1);
>
> It doesn't get any cleaner than that!
Well... :-)
I'd get rid of the repeated computation of the length. Either:
my $s1 = substr($s, 0, int(length($s)/2));
my $s2 = substr($s, length($s1));
Or:
my $len = int(length($s)/2);
my $s1 = substr($s, 0, $len);
my $s2 = substr($s, $len+1);
Especially for a human reader, code is clearer if the commonality
is shown explicitly, rather than having to inspect the expressions
to determine that they are the same - particularly when, as in this
case, they are only *almost the same* because of the +1.
More information about the toronto-pm
mailing list