first commit
This commit is contained in:
24
perl/Examples/Chap1/total-size-broken
Normal file
24
perl/Examples/Chap1/total-size-broken
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
|
||||
###
|
||||
### total_size_broken
|
||||
###
|
||||
|
||||
## Chapter 1 section 4
|
||||
|
||||
sub total_size {
|
||||
my ($top) = @_;
|
||||
my $total = -s $top;
|
||||
return $total if -f $top;
|
||||
unless (opendir DIR, $top) {
|
||||
warn "Couldn't open directory $top: $!; skipping.\n";
|
||||
return $total;
|
||||
}
|
||||
my $file;
|
||||
while ($file = readdir DIR) {
|
||||
next if $file eq '.' || $file eq '..';
|
||||
$total += total_size("$top/$file");
|
||||
}
|
||||
closedir DIR;
|
||||
return $total;
|
||||
}
|
||||
Reference in New Issue
Block a user