#! perl -slw use strict; my $VAR1 = { '3' => { 'GID' => 18, 'AIG' => 161, 'TEA' => 224, }, '2' => { 'GID' => 27, 'AIG' => 160, 'TEA' => 224, }, '4' => { 'GID' => 17, 'AIG' => 135, 'TEA' => 214, }, '1' => { 'GID' => 18, 'AIG' => 154, 'TEA' => 235, } }; for my $f ( qw[AIG GID TEA] ) { print join ' ', $f, map{ $VAR1->{ $_ }{ $f } } sort{ $a <=> $b } keys %{$VAR1}; } __END__ C:\test>junk AIG 154 160 161 135 GID 18 27 18 17 TEA 235 224 224 214