I looked at the code for File::Find, and two things stand out immediately that I think make a big difference:
- Code Size - File::Find is about 9 pages of code!
- @ISA - Being OO, it uses CWD in it's @ISA, which is more code to load.
Those two things alone will slow down execution compared to 3 lines of code making up a foreach loop.
Of course, the File::Find makes up for it's size in it's flexibility and features.... :)
hth, Maurice