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