my @l=( {FN=>'Les',LN=>'Howard'}, {FN=>'Larry',LN=>'Wall'}, {FN=>'Randal',LN=>'Schwartz'}); foreach(sort {$$a{LN} cmp $$b{LN} or $$a{FN} cmp $$b{FN}} @l){ print "$$_{LN}, $$_{FN}\n"; }