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