#!/usr/bin/perl use strict; use warnings; my $inData = <[1] <=> $b->[1]} map {/(\d+)$/; [$_, $1]} <$inFile>; pop @lines if $lines[-1][1] - $lines[0][1] >= 500; print for sort map {$_->[0]} @lines; #### ID1 ch1 70 mir abc xyz ch2 2050 ID3 ch1 100 mir abc xyz ch2 2045 ID4 ch1 120 mir abc xyz ch2 2025