%g2o = ( 128 => 'a', 13 => 'b', 34 => 'a', 28 => 'c' ); @allgs = (128, 13, 34 ); @allgsplane = sort { ($g2o{$a} cmp $g2o{$b}) || ($a <=> $b) } @allgs; print "@allgsplane\n"; #### 34 128 13