Are there any good (and preferably free) code coverage tools out there for Perl?
Yes, Devel::Cover is the way to go.
If you develop a module, and use Module::Build to manage the installation, you even have a testcover
target:
perl Build.PL
./Build testcover
That runs the whole test suite, and makes a combined coverage report in nice HTML, where you can browse through your modules and watch their coverage.