http://www.perlmonks.org?node_id=11126487

May take a while on an old PC.

Also see Progressive JAPH by Athanasius.

$|++,$a=$b='Ktru!`onuids!Qdsm!i`bjds-',$==length$b,$b^="\01"x$=, @_=map{chr}(32..126);while($=>(($a^$b)=~tr/\x0//)){for(sort{rand >.5}1..$=){substr($a,$_-$|,1)ne(substr($b,$_-1,1))and substr($a, $_-$|,1)=@_[rand@_],print"\r",$a;select($,,$,,$,,.001)}};print$/