or download this
# 288 characters (excluding trailing \n)
sub l{length$_[0]};sub p{$x=int rand($n=10**$d);$y=int rand($n);$z=$x+
+$y;@a=();for(0..9){while(defined $a[$n=rand(10)]){};$a[$n]=chr(65+$_)
+;}$n=2+l$z;$"='';print map{eval"y/0-9/@a/";$_}(' 'x($n- l$x),"$x
...
",'-'x$n,"
$z
");}$d=shift||4;$q=shift||1;p$d for(1..$q);