sub parse { my ($dir, $ref) = @_; foreach my $entry (<$dir$dt*>) { my ($name) =($entry =~ m/.*\/(.+)?$/); # basename if (-d $entry) { $ref->{$name} = {}; parse($entry, $ref->{$name}); # Rekursion } else { $ref->{$name}++; } } }