#!/usr/bin/perl use strict; use warnings; my $string = { index1 => { index11 => 4 }, index2 => { index21 => 3 , index22 => 2 }, index3 => { index31 => 1 } }; for my $i (sort keys %$string) { my $tmp = $string->{$i}; for my $j (sort keys %$tmp) { print $i . " " . $j . " " . $string->{$i}->{$j} . "\n"; } }