#! perl -slw use strict; sub shuffleWord { my( $l, $p ) = length( $_[0] )-1; $p = int rand $l - $_ and substr( $_[ 0 ], $_ , 1 ) ^= substr( $_[ 0 ], $_ + $p, 1 ) ^= substr( $_[ 0 ], $_ , 1 ) ^= substr( $_[ 0 ], $_ + $p, 1 ) for 0 .. $l; return $_[ 0 ]; } print shuffleWord $ARGV[ 0 ]; __END__ P:\test>test.pl antidisastablishmentarismmania teinisasdrslaathiaismmtabnnima P:\test>test.pl antidisastablishmentarismmania ibsrniitmsaaadnnaealttiimsmhsa P:\test>test.pl antidisastablishmentarismmania iiarsshaminaaittlmtnbasmsednia