use strict; use warnings; my %conns; while(){ $conns{$1} = $2 if /(\d+)-(\d+)/ and $2 > ($conns{$1}//0); } printf "%d:\t%d\n", $_, $conns{$_} for sort keys %conns; __DATA__ 4-12 7-10 7-12 8-13