%my_array=(Key_One=>["50","25","100","90"], Key_Two=>["35","18","110","72"], Key_Three=>["100","35","99","82"] ); $a_key = each %my_array; for $column (0 .. $#{$my_array{$a_key}}) { @a = sort { $b <=> $a } map { $my_array{$_}[$column] } keys %my_array; print $column+1, ": @a[0..1] \n"; } #### 1: 100 50 2: 35 25 3: 110 100 4: 90 82