$best = 0; $max = 0xfff; $best_dist_count = 0; $best_dist = 9999999; $target = "Just Another Perl Hacker.\n"; @save_target = split //, $target; for $n (0..10000000) { srand($n); # Initialize random number generator to zero @target = @save_target; $count = 0; $dist = 0; $max_dist = 0; while(@target) { $count++; $dist++; my $char = $target[0]; if(chr(rand(0x80)) eq $char) { shift @target; if($dist > $max_dist) { $max_dist = $dist; } $dist = 0; } } if ($count < $max) { $best = $n; $max = $count; print "max: $max\tbest: $best\n"; } if($max_dist < $best_dist) { $best_dist = $max_dist; $best_dist_count = $n; print "dist: $best_dist\tbest: $best_dist_count\n"; } }