#!perl use warnings; use Benchmark; $unc = '\\\\server_name\\sys_share'; my $re = Benchmark::timethese(-5, { blackadder => sub { $lunc = $unc; $lunc =~ s/^\W*\w+//; $server = $&; $server =~ s/^\W+//; }, theorbtwo => sub { $unc =~ m/^\\\\([^\\]+)\\/; $server = $1; } } ); Benchmark::cmpthese($re); __END__ Benchmark: running blackadder, theorbtwo, each for at least 5 CPU seconds... blackadder: 6 wallclock secs ( 5.12 usr + 0.00 sys = 5.12 CPU) @ 131371.90/s (n=673281) theorbtwo: 5 wallclock secs ( 5.34 usr + 0.00 sys = 5.34 CPU) @ 190423.65/s (n=1017624) Rate blackadder theorbtwo blackadder 131372/s -- -31% theorbtwo 190424/s 45% --