Re: List of directories within a directory




Quoth Al Moodie <nospam@xxxxxxxxxx>:
I have a directory with 200 sub directories in it. How do I create a
list of the sub directory names?

Recursively, or just the immediate subdirectories?

I know how create a list of all the files in a directory:

opendir(DIR, $dirname) or die "can't open $dirname: $!";
while (defined($file = readdir(DIR))) {
next if($file =~ m/^\./);
next if($file eq "");

For just the immediate subdirs you need

next if !-d "$dirname/$file";

or possibly

next if -l "$dirname/$file" or !-d _;

depending on your definition of 'directory', or the equivalent with
File::Spec if you want to be more portable (your exclusion of .*
suggests you are on Unix). For finding files (directories are just
files) recursively, use File::Find or one of the more modern
alternatives like File::Find::Rule.

Ben

.