#!/usr/bin/ruby -w map = Hash.new(0) IO.foreach(ARGV[0]) {|line| line.split.each {|word| map[word.downcase] += 1 } } pairs = map.sort { |a,b| diff = a[1] <=> b[1] diff == 0 ? a[0] <=> b[0] : -diff } pairs.each {|key,value| print value,"\t",key,"\n" }