If I correctly understand your goal, perhaps File::Find and File::Slurp will be helpful:
use Modern::Perl; use File::Find; use File::Slurp qw/read_file/; my $startDir = '.'; find( { wanted => \&countLines, }, $startDir ); sub countLines { /\.txt$/ or return; my $completePath = $File::Find::name; my $curDir = $File::Find::dir; my $curFile = $_; my @fileLines = read_file $curFile; my $numLines = @fileLines; say "Cur dir: $curDir; Cur file: $curFile; Num Lines: $numLines"; }
Partial output:
Cur dir: ./test/test bbb; Cur file: B.txt; Num Lines: 6
The script above will start at $startDir and descent into directories, processing only *.txt files. Consider using a hash (key = $curDir; val = totLines) to store totalFileLines per directory.
Hope this helps!
In reply to Re: Comparing Values PER Sub-folder
by Kenosis
in thread Comparing Values PER Sub-folder
by omegaweaponZ
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |