$grp = 3; $mod = 6; $t = 0; while(<>) { tr/ //d; tr/\t//d; s/F,.*$//; my ($i,$f) = split /\./; $ints[$t] = $i; $fracs[$t] = $f; $t++; } $ilen = (sort {$b <=> $a} map {length} @ints )[0]; $flen = (sort {$b <=> $a} map {length} @fracs)[0]; printf "$ilen . $flen\n\n"; for($t=0;$t<=$#fracs;$t++){ if(!($t%$grp)) { printf "{"; } printf "%${ilen}d.%-${flen}d", $ints[$t], $fracs[$t]; if($t!=0 && !(($t+1)%$grp)) { printf "}"; } if(!(($t+1)%$mod)) { printf ",\n"; }else { printf ", "; } }