For my CGI scripts, I like to redirect STDERR to a file. I use
File::Basename to extract the script filename, open up the error log, and call it a day. You may want to either truncate the error log on each run, or truncate it when it reaches a certain size.
Sure, there are race conditions. Sure, it'd be much better to run an error logging server. But if your script is stable enough for production and you just don't have the time to track down some verbose, non-critical errors, this method will keep your logs in check.
But, that's a quick fix.
Malach is right. A well-written script shouldn't give you that many errors. Your best bet for long term is to fix your script so it doesn't generate the warnings under -w.