http://qs321.pair.com?node_id=811145


in reply to How do I recursively process files through directories

Ten years passed, we still are very interested in this problem, I got some code to get the total number of files under a directory, sub directory is also included.

#!/usr/bin/perl use strict; use warnings; my $location = "the path of directory you want to process"; #root dir +ectory my $n = 0; readsub($location); print "Found $n file(s)!\n"; #print the total number of files you fo +und exit; sub readsub { my ($file_t) = @_; if (-f $file_t) { #if its a file $n++; #the total number of files } if (-d $file_t) { #if its a directory opendir(AA,$file_t) || return; my @list = readdir(AA); closedir (AA); my $file_to_act; foreach $file_to_act (sort @list) { if ($file_to_act =~ /^\.|\.$/) { next; } else { readsub("$file_t/$file_to_act"); } } } }
Enjoy!