This is the correct reply.

That's some good stuff.

can you run a benchmark against these, contributed by others on this list,
as well?

$username =~ s/^\s*(.*?)\s*$/$1/;
s/^\s+//, s/\s+$// $username;

thanks,
-rkl

> I ran some benchmarks.
>
> The two-liner outperformed the one-liners by a 10 to 1 ratio.  Code and
> results below.
>
>
> Benchmark: timing 100000 iterations of OneLine, OneLine2, TwoLines...
>   OneLine: 41 wallclock secs (39.30 usr +  0.00 sys = 39.30 CPU) @
> 2544.79/s
>   OneLine2: 34 wallclock secs (32.58 usr +  0.00 sys = 32.58 CPU) @
> 3069.56/s
>   TwoLines:  3 wallclock secs ( 2.58 usr +  0.00 sys =  2.58 CPU) @
> 38789.76/s
>
>
> use strict;
> use Benchmark;
>
> my $val = "    " . ("foo" x 200) . "    ";
>
> timethese(100_000, {
>     'OneLine' => sub{trimOne($val)},
>     'OneLine2' => sub{trimOne2($val)},
>     'TwoLines' => sub{trimTwo($val)},
> });
>
> sub trimOne {
>   my $s = shift;
>   $s =~ s/^\s+|\s+$//g;
>   die $s unless ($s eq ("foo"x200));
> }
>
> sub trimOne2 {
>   my $s = shift;
>   $s =~ s/^\s*(.*?)\s*$/$1/g;
>   die unless ($s eq "foo"x200);
> }
>
> sub trimTwo {
>   my $s = shift;
>   $s =~ s/^\s+//;
>   $s =~ s/\s+$//;
>   die unless ($s eq "foo"x200);
> }
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 29, 2003 8:04 PM
> To: [EMAIL PROTECTED]
> Subject: remove blanks
>
>
> Is there a func or a onliner for removing blanks from both ends?
>
> I'm using these:
>
> $username =~ s/^\s+//;
> $username =~ s/\s+$//;
>
> There got to be one out there!
>
> thanks,
> -rkl
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to