use strict; use warnings; my ($dir, $handle, %mlc, @files, @spider); my $fname = "mlc"; # Main directory to start spidering... push @spider, ':'; while ($dir = shift @spider) { if (-e "$dir$fname") { open($handle, "$dir$fname"); $mlc{$dir} = join '', <$handle>; close($handle); } opendir($handle, $dir); @files = readdir($handle); closedir($handle); for (@files) { push @spider, "$dir$_:" if -d "$dir$_"; } } for (sort keys %mlc) { print "$_\n$mlc{$_}\n\n"; }