print for map{ my( $n1, $a1, $n2, $a2, $value ) = unpack 'N A4 N A4 A*', $_; "{$n1.$a1}{$n2.$a2} => $value" } sort map { my $key1 = $_; map { pack 'N A4 N A4 A*', split( '\.', $key1 ), split( '\.', $_ ), $hash{ $key1 }{ $_ } } keys %{ $hash{ $_ } }; } keys %hash;