The limitations of the API to File::Find were one of the reasons for writing File::Wildcard. In cases like directory tree expansion, I much prefer an iterator to a callback.
I also provide an "all" method which returns all the files as a list, which can pe post-processed by the likes of map and grep.
-- I'm Not Just Another Perl Hacker
Comment on Re: File::Find::Closures (at last, some code re-use)