in reply to Re: Re: How to remove character at certain position in the String.....
in thread How to remove character at certain position in the String.....
It only gets compiled once.$ perl -Dr /tmp/qq 2>&1 | grep Compiling Compiling REx `^(.{2}).{2}(.*)$' $
Here's a benchmark:
#!/usr/bin/perl use strict; use warnings; use Benchmark 'cmpthese'; our @data = <DATA>; chomp @data; our $from = 2; our $len = 2; our (@a, @b, @c); cmpthese -10 => { substr => 'for (@a = @data) { substr $_, $from, $len, "" if length ($_) >= $fro +m + $len }', regex => 'for (@b = @data) { $_ = $1 . $2 if /^(.{$from}).{$len}(.*)$/; }', regex_qr => 'my $qr = qr /^(.{$from}).{$len}(.*)$/; for (@c = @data) { $_ = $1 . $2 if /$qr/; }', }; die "Unequal" unless "@a" eq "@b" && "@b" eq "@c"; __DATA__ 12345678 yellow a xx yyy a somewhat longer line to compensate for the smaller lines. bla bla bla bla Rate regex_qr regex substr regex_qr 38207/s -- -3% -62% regex 39497/s 3% -- -60% substr 99555/s 161% 152% --
Abigail
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
/$variable/ [was: Re: Re: How to remove character at certain position in the String.....]
by bronto (Priest) on Dec 02, 2003 at 10:47 UTC |