From: Caroline Warnock <[EMAIL PROTECTED]>
> I'm trying to use the following, in order to be able to print the
> names of sub-directories within a directory:
>
> 1 $folder = "/home/cwarnock/public_html/staged/DEVELOPMENT/";
> 2
> 3 opendir(DEV, $folder);
> 4
> 5 @all_files = readdir(DEV);
> 6
> 7 foreach $Name (@all_files) {
> 8 print $Name;
> 9 if(-d $Name){
> 10 print "$Name\n";
> 11 }
>
> I know that the directory has at least 4 sub-directories.
>
> The 'print $Name;' on line 8, correctly prints all the sub-directory
> and file names as well as '.' and '..'.
> However, the 'print "$Name\n";' on line 10 (after the if statement)
> only prints '.' and '..'. None of the other 4 directories are
> printed.
The readdir only returns the NAME of the file/directory, not the
whole path. So you have to use
if (-d "$folder/$Name") ...
Jenda
=========== [EMAIL PROTECTED] == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain.
I can't find it.
--- me
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]