in reply to Errors in File::Recurse()?

Perhaps this is a bug in File::Recurse. From perldiag (5.6):
%s() called too early to check prototype

(W prototype) You've called a function that has a prototype before the parser saw a definition or declaration for it, and Perl could not check that the call conforms to the prototype. You need to either add an early prototype declaration for the subroutine in question, or move the subroutine definition ahead of the call to get proper prototype checking. Alternatively, if you are certain that you're calling the function correctly, you may put an ampersand before the name to avoid the warning. See the perlsub manpage.

Is 'recurse' declared correctly (and early enough, given that it is prototyped) in Recurse.pm?

Additionally, are you sure this is even an error? It looks to me like it's just a warning. Try removing the -w flag from your script and see if it runs OK.