> I know I can use the "find.pm". But, I'd like to know why the recoursive
> I did is wrong.

There are no debug print statements in your code. There are also a lot
of 'next' statements, which always make me suspicious. See comments in
chopped-up code below.

Good luck,
Dave

> == Start of code
[snip]
> @dirs = &find_dirs ($ARGV[0],$depth) ;
[snip]
> sub find_dirs {
[snip]
>         my ($dir_ls) = "dir /AD" ;
[snip]
>                 open (DIR_LS,"$dir_ls |") ;
>                 while (<DIR_LS>)
>                 {
>                         next if /^\s+/ ;
# insert debug print statement here
# /me tries to imagine what chmop would do
# assume you mean chomp
>                         chmop;
>                         $d = $_ ;
# you probably mean .*? here, and possibly \s*
>                         $d =~ s/.*<DIR>\s+// ;
>                         $d =~ s/\s//g ;
# this will skip lines if there is a dot anywhere in the line
# you probably mean /^\.\.?$/
>                         next if ($d =~ /\.\.?/) ;
>                         next if ($d =~ /^Export/) ;
# does this ever print?
>                         print "Collecting .... $d\n" ;
>                         push (@dirs,$d) ;
>                         &find_dirs ($d,$depth) ;
>                 }
# debug print should go here, possibly something like print "found $#dirs\n";
>                 close DIR_LS ;
[snip]
> === End of code

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to