use strict; use File::Recurse; MAIN: { my $dir = $ARGV[0]; my $size = 0; recurse(\&sum_size, $dir, \$size); print "Total size: $size\n"; } sub sum_size { my ($file, $total_size_ref) = @_; stat($file); unless (-d _) { $$total_size_ref += -s _; } 1; }