if (defined $opt{w}) {
my @data;
open(my $fh, '<', $opt{w}) or die "Unable to open '$opt{w}' for reading: $!";
while (<$fh>) {
chomp;
next if length($_) < 3 || /[^a-zA-Z]/;
$_ = lc($_);
my $code = join('', 'push @{$data', (map { $_-=97; "[$_]"} sort{$a<=>$b} unpack 'C*', $_), "}, '$_';");
eval $code;
}
store(\@data, $opt{d}) or die "Can't store '%data' in '$opt{d}'\n";
}
####
$a = ~( $b = chr(0)x 1e3 );
$t=time;
my $x = $a ^ $b for 1 .. 1e6;
printf "Took %.6f seconds\n", time()-$t;;
Took 1.297000 seconds
####
$a = ~( $b = chr(0)x 1e6 );
$t=time;
my $x = $a ^ $b for 1 .. 1e3;
printf "Took %.6f seconds\n", time()-$t;;
Took 1.645000 seconds