use strict; use warnings; use Win32::TieRegistry; my $regroot = $Registry -> Open ("CConfig", {Delimiter=>"/"}); my $regpath= $regroot->Path; func( $regroot ); sub func { my $regkey = shift; foreach my $key (keys %$regkey) { chomp($key); if ($key =~ /^(\/.*)/) { print "Werte"; } if ($key =~ /(\/)$/) { print "Schluessel: ", $key, "\n"; my $dir = $regkey->Open ("$key"); #In den Key wechseln #$path= $dir->Path; #print $path, "\n"; func($dir); #Funktion erneut aufrufen #wieder eins nach oben ! } } }