You will find that there are a lot of different solutions out there, because the problem space can be sub divided a lot of ways.
For starters, how many servers do you have and how homogenous (or otherwise) are they? At one place I worked, all the servers ran the same version of Ubuntu, so it was fairly simple to use CPAN to install all the required packages on one development server, and then create a huge debian package of everying to install on the others (Using the .packlist files that CPAN helpfully writes when it installs anything). When ever we did a release of the main perl program that ran on the servers, we would install any new dependencies on the test server, and re-create the debian package.
If your servers are not homogenous, could they still run the same perl code if they each had access via a shared folder or a checkout from the version control system? This should be possible if they are all running the same major version number of perl, and if any of the libaries contain XS compiled code then all the servers have the same processor archetecture and OS family.