Neither stand up too well unless I've screwed something (which as we all know is entirely possible :):
Update: Code corrected in light of ikegami's post below:
C:\test>byChar.pl
...
rgx_scalar => q[
our $string;
while ( $string =~ /(.)/sg) {
my $c = $1;
}
],
rgx_list => q[
our $string;
for my $c ( $string =~ /(.)/sg) {
;
}
],
C:\test>byChar.pl
Rate split rgx_list substr_refs rgx_scalar unpack subs
+tr chop rev_chop pre_split
split 9984/s -- -34% -74% -75% -76% -7
+7% -82% -83% -94%
rgx_list 15104/s 51% -- -61% -62% -63% -6
+5% -73% -74% -91%
substr_refs 38242/s 283% 153% -- -3% -7% -1
+2% -33% -34% -78%
rgx_scalar 39574/s 296% 162% 3% -- -3% -
+9% -30% -32% -77%
unpack 40959/s 310% 171% 7% 3% -- -
+6% -28% -29% -76%
substr 43352/s 334% 187% 13% 10% 6%
+-- -24% -25% -75%
chop 56695/s 468% 275% 48% 43% 38% 3
+1% -- -2% -67%
rev_chop 57962/s 481% 284% 52% 46% 42% 3
+4% 2% -- -67%
pre_split 173576/s 1639% 1049% 354% 339% 324% 30
+0% 206% 199% --
-
-
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|