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/;
$username =~ s/^\s*(.*?)\s*$/$1/;
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]