Do yourself a favour and avoid using CPAN (had been discussed here on the list in length).
CPAN is fine, but you should use one of the tools that convert cpan archives into rpms. I personally use cpanflute2 which comes with the RPM::Specfile(3pm) archive. Its very easy to use, and within seconds (depending on the cpan modules build time) you will have an RPM and an SRPM if you like.
On another front work in the most recent versions of rpm is being done to support runtime probes for dependencies. Sounds complicated, but basically think of it as looking out side of the package management system for dependencies such that whether you install a CPAN module from an rpm or from an rpm, RPM can detect its there and thus the dependency is satisfied.
I personally prefer everything to be in a package, but I see the merits of the latter approach. Also, as an aside, the runtime dependencies are much more powerful than that, in that they can be used to put /proc/cpuinfo and gconf dependencies on packages, which I do find to be very powerfull if used appropriately.
Cheers...james