[14:28:20.34] c:\test>\Perl510\bin\perl5.10.0.exe 688308.pl -loops=1e2 Rate reverse substr_copy subst substr_lval substr_mod reverse 5.79/s -- -78% -96% -97% -98% substr_copy 26.0/s 349% -- -84% -85% -92% subst 162/s 2692% 522% -- -5% -48% substr_lval 170/s 2837% 554% 5% -- -45% substr_mod 310/s 5257% 1094% 92% 82% -- [14:29:08.20] c:\test>\Perl510\bin\perl5.10.0.exe 688308.pl -loops=1e3 Rate reverse substr_copy subst substr_lval substr_mod reverse 5.91/s -- -77% -97% -97% -98% substr_copy 26.1/s 342% -- -85% -85% -92% subst 169/s 2767% 548% -- -2% -47% substr_lval 173/s 2832% 563% 2% -- -45% substr_mod 317/s 5264% 1113% 87% 83% -- [14:29:44.37] c:\test>\Perl510\bin\perl5.10.0.exe 688308.pl -loops=1e4 Rate reverse substr_copy subst substr_lval substr_mod reverse 5.85/s -- -78% -96% -97% -98% substr_copy 26.2/s 349% -- -84% -85% -92% subst 167/s 2750% 535% -- -5% -48% substr_lval 176/s 2908% 570% 6% -- -45% substr_mod 321/s 5383% 1121% 92% 82% -- [14:30:21.73] c:\test>\Perl510\bin\perl5.10.0.exe 688308.pl -loops=1e5 Rate reverse substr_copy subst substr_lval substr_mod reverse 5.85/s -- -78% -97% -97% -98% substr_copy 26.3/s 350% -- -84% -85% -91% subst 168/s 2767% 536% -- -3% -46% substr_lval 173/s 2862% 558% 3% -- -44% substr_mod 309/s 5191% 1075% 85% 79% -- #### >\Perl510\bin\perl5.10.0.exe -MDevel::Peek -wle" $x = 'fred'; Dump( $x ); print substr( $x, 0, 1 )=''; Dump( $x )" SV = PV(0x226f64) at 0x182a19c REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x18305ec "fred"\0 CUR = 4 LEN = 8 SV = PVIV(0x228f40) at 0x182a19c REFCNT = 2 FLAGS = (POK,OOK,pPOK) IV = 1 (OFFSET) PV = 0x18305ed ( "f" . ) "red"\0 CUR = 3 LEN = 7 >\Perl510\bin\perl5.10.0.exe -MDevel::Peek -wle" $x = 'fred'; Dump( $x ); print substr( $x, 0, 1, ''); Dump( $x )" SV = PV(0x226f64) at 0x182a19c REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x18305ec "fred"\0 CUR = 4 LEN = 8 f SV = PVIV(0x228f40) at 0x182a19c REFCNT = 1 FLAGS = (POK,OOK,pPOK) IV = 1 (OFFSET) PV = 0x18305ed ( "f" . ) "red"\0 CUR = 3 LEN = 7