Random advice. Unless you really need them, do not use prototypes.
in reply to Redirecting STDOUT from internal function with 5.6.1 restrictions
As threads like Are prototypes evil? and When to use Prototypes? point out, they don't do what you want them to, and do what you don't. Unfortunately the Tom Christiansen article that everyone points to has been removed from www.perl.com (why I do not know). However you can still find it at FMTYEWTK about Prototypes.
Update I'd only half-written this when I hit submit. I finished off the dangling sentences.