File::Find works by reading the whole directory, then processing the items inside it. So, if subdirs are added after the scan, they won't be seen. But, if you didn't close the DIR handle at the beginning but read one entry and processed it, what would
that do when you added something?
Unless you come up with a traversal method that you specifically want to use because it works better for you, go ahead and use the module.