#!/usr/bin/perl -p #12345678 1 2345678 2 2345678 3 2345678 4 2345678 5 23 s#\B\w+\B#join$,,(split$,,$&)[sub{($b,@*)=@_;$b=$*[$b ]=pop while@_;@*}->(sort{rand~0}0..-1+length$&)]#ge #45678 6 12345678 7 2345678 8 2345678 9 2345678 0 23