#!/usr/bin/perl use strict; use warnings; my %frequency; while() { my @column = split ' ' or next; $frequency{$column[2]}++; } { local($\, $,) = ("\n", "\t"); # tab delimited output foreach (sort { $frequency{$b} <=> $frequency{$a} || $a <=> $b } keys %frequency) { print $_, $frequency{$_}; } } __DATA__ 0.000000e+00 105 35324 1.000000e+00 105 35324 2.000000e+00 105 33308 3.000000e+00 105 35324 4.000000e+00 105 33308 5.000000e+00 105 35324 6.000000e+00 105 33227 7.000000e+00 105 33011 8.000000e+00 105 33227 9.000000e+00 105 35606 1.000000e+01 105 33227 1.100000e+01 105 35537