sub rand2 { my $foo = shift; for (my $i = length($foo); --$i; ) { my $j = int rand ($i+1); (substr($foo, $i, 1), substr($foo, $j, 1)) = (substr($foo, $j, 1), substr($foo, $i, 1)) } return $foo; }