use File::Find; sub wanted { warn "adding $File::Find::name\n"; push(@mainarray, $File::Find::name); } find(\&wanted, "D:"); writefile(); print "complete\n"; ;