use Benchmark qw( cmpthese ); cmpthese( @ARGV ? $ARGV[0] : -3, { Atr => sub { $string = "blah+blah+blah"; $string =~ tr/+/ /; }, As => sub { $string =~ "blah+blah+blah"; $string =~ s/\+/ /g; }, Btr => sub { $string = "blah+blah+blah"; $string =~ tr/+/ /; }, Bs => sub { $string =~ "blah+blah+blah"; $string =~ s/\+/ /g; }, }); #### Rate Atr Btr Bs As Atr 696801/s -- -2% -13% -45% Btr 711990/s 2% -- -11% -44% Bs 800289/s 15% 12% -- -37% As 1260797/s 81% 77% 58% --