foreach $key (keys %test) { foreach $tmpvalue (@{$test{$key}{value}) { print "$key --> $tmpvalue\n"; } } Output: obj1 --> 0 obj1 --> 1 obj1 --> 2 obj1 --> 3 obj1 --> 4 obj1 --> 5 obj1 --> 6 . . .