in reply to Repeats exclusion

This is a non-Perl solution that takes advantage of the (possibly adventitious) structure of the example input data file in which the coordinate field of each record is in numerically ascending order; I assume you want to preserve this order. If, in addition, the distance fields were ordered in the same way, the desired output could be generated by excluding all records that repeat the coordinate field.

The following solution uses the GNU utilities sort and uniq. It may be handier or quicker than a Perl solution, but is also less flexible and extensible. (Note: The following is tested with a GNU-ish port of these utilities to Windoze: best I can do right now.)

>sort -g -k1 -k2 859805.dat | uniq -w12 > 859805.least >cat 859805.least 567 344 5 7 8 1345 567 5 8 123 2346 78 12 1 567 3456 67 10 1 5 4678 45 6 2 0 5349 6 8 2 14 6700 50 13 1 4 8964 560 2 18 8

Also Note: The uniq  -w switch, which seems to be supported by GNU/Linux, may not be supported in other implementations.