in reply to character flipping
sub mutate {
my $strength = shift || 2;
$strength = int( $strength / 2 );
my $string = q(Just another Perl Hacker);
my $array = [ split //, $string ];
while ( $strength ) {
my( $x, $y ) = ( int(rand(@{$array})), int(rand(@{$array})) );
@{$array}[$x,$y] = @{$array}[$y,$x];
$strength--;
}
my $mutated = join '', @{$array};
return $mutated;
} # mutate()
print mutate(2), "\n",
mutate(4), "\n",
mutate(6), "\n",
mutate(8), "\n",
mutate(30), "\n";
-- Casey
|
|---|