File::Find actually sounds ideal for what you want, and it will most likely do it better than you could yourself. Typical file-tree depth searchers get hung up on symbolic links if you don't explicitly take them into account. File::Find will handle this and other problems with aplomb. It's also very flexible; just plug in your matching function (wanted() in the docs) and you're up and running. See Corion's review and following thread for additional considerations, and the local copy of the |File::Find doc for how to use it. And of course, there are a boatload of existing nodes around the site (see above posts) relating to the module.
in reply to traversing directory's