Devel::Cover is a fabulous thing, and has helped me find and squash obscure bugs that weren't covered by my tests, and I'm starting to add it to my distributions as and when I have to hack on them.
But it's not a panacea. It will, for example, flag all sorts of tiny conditions that a conscientious programmer puts in for things like open(...) || die(...) but really aren't worth bothering with testing. It will flag things that not only aren't worth bothering with, but actually *can't be tested* on your machine, such as patches that people sent you to make your code work on other platforms. Seperating the coverage wheat from the chaff is rather time-consuming.