my @dirs = dir_entries($dir); foreach $file (@dirs) { my @batches = dir_entries($dir.$file); my $amount = @batches; $total += $amount; } sub dir_entries { my ($dir) = @_; opendir(DIR, $dir); my @entries = readdir(DIR); close(DIR); # Remove . and .. @entries = grep (!/^\./, @entries); @entries = sort {$a cmp $b} @entries; return @entries; }