#!/usr/bin/perl use strict; use warnings; use diagnostics; use Data::Dumper; my %navi = ( "Java" => { "Switch" => ["Switch","switch.htm"], "Bubble" => ["Bubblesort","Bubble.htm"], }, "Dings" => { "Urgs" => ["Urgelurgs","uuuuuurgllll.htm"], "Gnubbel" => ["Gubblesort","Gnubbel.htm"], }, ); for my $key (sort keys %navi) { print "Key '$key'\n"; for my $innerkey (sort keys %{$navi{$key}}) { print "\tInner Key: '$innerkey'\n"; for my $value (@{$navi{$key}{$innerkey}}) { print "\t\t\tWert = '$value'\n"; } } }