diff options
Diffstat (limited to 'lib/sbin/ThornUtils.pm')
-rw-r--r-- | lib/sbin/ThornUtils.pm | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/lib/sbin/ThornUtils.pm b/lib/sbin/ThornUtils.pm index 845010dd..acbdca0b 100644 --- a/lib/sbin/ThornUtils.pm +++ b/lib/sbin/ThornUtils.pm @@ -1,6 +1,5 @@ package ThornUtils; - my $parskip_set = "0pt"; my $parskip_restore = "10pt"; @@ -73,29 +72,27 @@ sub CreateThornlist #@@*/ sub FindDirectories { - my ($directory) = shift; - - my (@directories); - - chdir ($start_directory) || die "\nCannot change directory to $start_directory: $!"; + my $directory = shift; - chdir($directory) || die "\nCannot change directory to $directory: $!"; + my @directories; + my $dirhdl; - open(LS, "ls -F|"); + opendir ($dirhdl, $directory) + or die "\nCannot open directory $directory\n"; - while( chomp($name = <LS>)) + while (defined (my $name = readdir($dirhdl))) { - next if ((! -d $name) || ($name eq "History/") || ($name eq "CVS/")); - - $name =~ s/\/$//; - push(@directories, $name); + if ((-d "$directory/$name") + && ($name ne 'History') && ($name ne 'CVS') + && !($name =~ /^\./) ) # i.e. current, parent & hidden dirs + { + push(@directories, $name); + } } - close(LS); - - chdir ($start_directory) || die "\nCannot change directory to $start_directory: $!"; + closedir $dirhdl; - return (@directories); + return @directories; } #/*@@ |