use strict;
use warnings;
use File::DirWalk;
my $folder = 'E:\test\foldersize\1-folder|E:\test\foldersize\2-folder|E:\test\foldersize\5-folder';
my $depth = 3;
my @directory = grep!/^\s*$/, split/\|/, $folder;
my @folder;
for my $directory (@directory){
my $dw = new File::DirWalk;
$dw->onDirLeave(sub {
my ($dir) = @_;
return File::DirWalk::FAILED if ($dir eq $directory);
push (@folder, $dir);
return File::DirWalk::SUCCESS;
});
$dw->setDepth($depth);
$dw->walk($directory);
}
$,="\n";
print @folder;
####
E:\test\foldersize\1-folder\Allworth\Copy of VTT
E:\test\foldersize\1-folder\Allworth\VTT
E:\test\foldersize\1-folder\Allworth
E:\test\foldersize\1-folder\Brepols\ARA
E:\test\foldersize\1-folder\Brepols
E:\test\foldersize\1-folder\Else_UK\KAST2
E:\test\foldersize\1-folder\Else_UK
E:\test\foldersize\2-folder\Allworth\VTT
E:\test\foldersize\2-folder\Allworth
E:\test\foldersize\2-folder\Brepols\ARA
E:\test\foldersize\2-folder\Brepols
E:\test\foldersize\2-folder\Else_UK\KAST2
E:\test\foldersize\2-folder\Else_UK
E:\test\foldersize\5-folder\Allworth\VTT
E:\test\foldersize\5-folder\Allworth
E:\test\foldersize\5-folder\Brepols\ARA
E:\test\foldersize\5-folder\Brepols
E:\test\foldersize\5-folder\Else_UK\KAST2
E:\test\foldersize\5-folder\Else_UK
##
##
E:\test\foldersize\1-folder\Allworth\Copy of VTT
E:\test\foldersize\1-folder\Allworth\VTT
E:\test\foldersize\1-folder\Brepols\ARA
E:\test\foldersize\1-folder\Else_UK\KAST2
E:\test\foldersize\2-folder\Allworth\VTT
E:\test\foldersize\2-folder\Brepols\ARA
E:\test\foldersize\2-folder\Else_UK\KAST2
E:\test\foldersize\5-folder\Allworth\VTT
E:\test\foldersize\5-folder\Brepols\ARA
E:\test\foldersize\5-folder\Else_UK\KAST2