my @mntDirs = glob("/mnt/*/clips"); foreach $mntDir (@mntDirs){ my @shallowDirs = glob("$mntDir/*"); foreach $shallowDir (@shallowDirs) { my @deepDirs = glob ("$shallowDir/*"); foreach $deepDir (@deepDirs) { opendir (CUR, "$deepDir") or die; #skip . and .. readdir(CUR); readdir(CUR); while($ent = readdir(CUR)){ print "$ent\n"; } close CUR; } } }