for my $path (keys %tree_Hash) { # mkdir $path my $sub = $tree_Hash{$path}; if (defined $sub and ref $sub) { for my $spath (%$sub) { # mkdir $sub/$spath my $subsubpath = $sub->{$spath}; .... and so on } } }