use Modern::Perl; my %seen; while( ) { chomp; $seen{$_}++; } my @top = ( sort { $seen{$b} <=> $seen{$a} } keys %seen )[0,1]; foreach ( @top ) { say "$_ $seen{$_}"; } __DATA__ 1.1.1.1 2.2.2.2 1.1.1.1 4.4.4.4 1.1.1.1 4.4.4.4