perl -e 'while(<>){$L=0;$E=0;($n,$d)=split;if($n==0||$d==0){next;}$X=$n/$d;$fX=int($X);print"[";while(!$E&&++$L<=10){if($X-$fX>0.999999){$fX++;$X=$fX;}if($L>2){print", ";}print"$fX";if($L==1){print"; ";}$X-=$fX;if($X<=0.000001){$E=1;}else{$X=1.0/$X;$fX=int($X);}}if(!$E){print", ...";}print "]\n";}' Usage Example: 2 9 [0; 4, 2] 10 28 [0; 2, 1, 4] 108 317 [0; 2, 1, 14, 2, 3] 317 108 [2; 1, 14, 2, 3] 28 10 [2; 1, 4] 9 2 [4; 2] 3.14159265358979323846264338327950288 1 [3; 7, 15, 1, 292, 1, 1, 1, 2, 1, ...]