in reply to Trimming whitespaces methods
My preference is to do the space trimming in two stages as it seems to be faster than either the capture or alternation methods.
use strict; use warnings; use Benchmark q{cmpthese}; my @arr = ( q{ fdsgehw fw wwfe w } ) x 5000; cmpthese( -5, { alternation => sub { my @new = @arr; s{ ^\s* | \s*$ }{}gx for @new; }, capture => sub { my @new = @arr; s{ ^\s* (\S.*?) \s*$ }{$1}x for @new; }, twoStage => sub { my @new = @arr; s{ ^\s* }{}x for @new; s{ \s*$ }{}x for @new; }, }, );
The results.
Rate capture alternation twoStage capture 8.96/s -- -26% -50% alternation 12.2/s 36% -- -33% twoStage 18.1/s 102% 48% --
I hope this is of interest.
Cheers,
JohnGG
Update: Fixed code indentation problems caused by TABs
In Section
Seekers of Perl Wisdom