in reply to How do I read all files in a directory recursively?

The easiest way I can see to do it (assuming that you're running under a Unix variant) is to write a perl program that opens up $ARGV[0] as a file and does appropriate processing on it, then from your command line,
find /path-to-files -exec /path-to-program {} \;
This lets the find program take care of providing all the recursive paths. Call me a blasphemer if you want, but I think the find command is much easier to use than File::Find, and will be much easier to change in the future should you need to add flags to the find. Of course, then there's the issue of the reduced efficiency of launching multiple copies of the perl interpreter, which if you have many files could be an issue. It probably doesn't make much of a difference either way, I just thought I'd provide an additional viewpoint.