first commit
This commit is contained in:
26
perl/Examples/Chap1/dir-walk-simple
Normal file
26
perl/Examples/Chap1/dir-walk-simple
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
###
|
||||
### dir_walk_simple
|
||||
###
|
||||
|
||||
## Chapter 1 section 5
|
||||
|
||||
sub dir_walk {
|
||||
my ($top, $code) = @_;
|
||||
my $DIR;
|
||||
|
||||
$code->($top);
|
||||
|
||||
if (-d $top) {
|
||||
my $file;
|
||||
unless (opendir $DIR, $top) {
|
||||
warn "Couldn't open directory $top: $!; skipping.\n";
|
||||
return;
|
||||
}
|
||||
while ($file = readdir $DIR) {
|
||||
next if $file eq '.' || $file eq '..';
|
||||
dir_walk("$top/$file", $code);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user