If you are going to put any work into it yourself, you really should set up a local yum repo and either copy in rpms from epel/rpmforge if they exist or use a CPAN->rpm tool to build them if they don't or you want something newer. Then installing on any target machine is just "yum install list_of_packages" which is easy to script and will always have reproducible results.
I'm leaning pretty heavily in this directly actually, just given how little progress I'm making with CPAN itself. Next step I guess is to see if all my packages are available in RPMs.
The only downside I see of this approach is that it becomes far more complex in a non-homogenous environment. We're almost all on Centos 5 at this point, but we do still have a few dribs and drabs of other things out there. But still I think it will be managable.