my @new; foreach $fn (@old) { $new[$fn->{FirstNum}]= $fn; delete $fn->{FirstNum}; }