use strict; use warnings; my $previous_x = 0; while () { my ($x, $y) = split; next if $x < $previous_x; $previous_x = $x; print; } __DATA__ 0.0036759 0.4018006 0.0036962 0.4074616 0.0037064 0.4124646 [rest of input data omitted for brevity] #### 0.0036759 0.4018006 0.0036962 0.4074616 0.0037064 0.4124646 0.0037064 0.4216399 0.0037166 0.4351084 0.0037166 0.4438854 0.0037268 0.4518142 0.0037268 0.4628417 0.0037370 0.4730210 0.0037370 0.4832176 0.0037370 0.4894152 0.0037471 0.4952320 0.0037675 0.4979326 0.0037879 0.5014988 0.0038082 0.5057747 0.0038184 0.5166984 0.0038286 0.5332830 0.0038286 0.5613627 0.0038388 0.6026338 0.0038591 0.6216075 0.0038693 0.6343489 0.0038693 0.6420872 0.0038693 0.6536515 0.0038693 0.6709805 0.0038795 0.6808655 0.0038897 0.6866130 0.0039202 0.6981425 0.0039406 0.7057251 0.0039610 0.7105550 0.0039610 0.7216518 0.0039712 0.7329564 0.0039712 0.7433434 0.0039813 0.7482426 0.0039813 0.7577987 0.0039915 0.7713018 0.0040119 0.7911064 0.0040119 0.8014242 0.0040221 0.8074314 0.0040221 0.8130404 0.0040221 0.8210730 0.0040221 0.8264223 0.0040526 0.8290191 0.0040628 0.8323083 0.0040933 0.8361688 0.0041035 0.8409814 0.0041239 0.8466942 0.0041239 0.8591068 0.0041341 0.864785 0.0041443 0.8760895 0.0041544 0.8858707 0.0041646 0.8995296 0.0041748 0.9034420 0.0041748 0.9111804 0.0041748 0.9187110 0.0041850 0.9221387 0.0041850 0.9288903 0.0041850 0.9357977 0.0041952 0.9453537 #### next if $x <= $previous_x;