Files
devops/perl/Examples/Chap1/total-size
2025-09-17 16:08:16 +08:00

29 lines
443 B
Plaintext

###
### total_size
###
## Chapter 1 section 4
sub total_size {
my ($top) = @_;
my $total = -s $top;
my $DIR;
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;
}