Traverse a directory
am 13.07.2006 20:10:35 von weberwI want to print out a listing of folders and their contents with
indentation. I don't want to print folder 3.
Example of output.
Folder 1
a.xls
b.xls
Folder 2
c.xls
d.xls
Here is my code. I want to keep the formatting above. How do you do
this as well as exclude folder 3?
#!C://Perl/bin/perl
use CGI ':standard';
use CGI::Carp 'fatalsToBrowser';
#use strict;
use warnings;
use File::Find;
my $file_count = 0;
my $dir_count = 0;
$title = "Find Files";
print header,
start_html($title),
h1($title);
find ( {
wanted => \&wanted}, 'C:/Documents and
Settings/weberw/Desktop/test');
printf "\nThere are %d files in %d directories.\n",
$file_count,
$dir_count;
sub wanted {
if (-d) {
return unless /[^.]/;
print "Directory Name is $File::Find::name\n";
print " \n";
$dir_count++;
}
elsif (-f _) {
print "File name is $File::Find::name\n";
$file_count++;
}
}
end_hmtl;