##
for my $char ( unpack '(A1)*', substr $x, 0, 100, '' ) {
##
}
####
use strict;
use warnings;
use Benchmark qw( cmpthese );
my %tests = (
subst => '$x =~ s/.//;',
substr_lval => 'substr($x,0,1) = "";',
substr_mod => 'substr($x,0,1,"");',
reverse => '$x = reverse $x; chop($x); $x = reverse($x);',
substr_copy => '$x = substr($x,1);',
);
our $loops ||= 1e4;
for (values %tests) {
$_ = <