$ perl -MBenchmark=cmpthese -wE'my$x=join" "=>"",("abc")x5,"";say"sourc: |$x|";sub splt{split" ",reverse((split" ",(reverse$x),1)[0]),1;};sub rgx{$x=~s/^\s+//r=~s/\s+$//r};say "split: |",splt(),"|";say"regex: |",rgx(),"|";cmpthese(-2,{splt=>\&splt,rgx=>\&rgx})' sourc: | abc abc abc abc abc | split: |abc abc abc abc abc| regex: |abc abc abc abc abc| Rate rgx splt rgx 1047602/s -- -64% splt 2915089/s 178% --