Here's a version in 237 characters (the newlines aren't necessary): $t=($"x 42 .$/)x14;@d=0..51;@p=(13,215,239,443);for$p(@p){@h= map{splice@d,rand@d,1}a..n;for$s(0..3){substr($t,$p,2)=(S,H,D,C) [$s].':';substr($t,$p)=~s/ (?= )/(2..9,T,J,Q,K,A)[$_%13]/efor+ grep{int$_/13==$s}sort{$b<=>$a}@h;$p+=43}}print$t; -- Keith C. Ivey <kcivey@cpcug.org> Washington, DC ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe