%data = ( serial_number => { A => 0 or 1, B => 0 or 1, # etc. order_stamp => number }, # etc. ); #### @serial_order = reverse sort { $data{$a}{order_stamp} <=> $data{$b}{order_stamp} } keys %data;