$ perl -MBenchmark=cmpthese -wE'my$x=join" "=>"",("abc")x5,"";say"sourc: |$x|";sub trim{join" ",split" ",$x};sub rgx{$x=~s/^\s+//r=~s/\s+$//r=~s/\s\s+/ /gr};say "split: |",trim(),"|";say"regex: |",rgx(),"|";cmpthese(-2,{splt=>\&trim,rgx=>\&rgx})' sourc: | abc abc abc abc abc | split: |abc abc abc abc abc| regex: |abc abc abc abc abc| Rate rgx splt rgx 506423/s -- -71% splt 1767763/s 249% --