in reply to sorting by field of a tab-delimited hash value

use Sort::Key qw(nkeysort); @sorted = nkeysort { (split /\t/, $students{$_})[1] } keys %students;