Как оптимизировать добавление perl модулей?
1) встречаются «виртуальные модули», которые ничего не делают, кроме как тянут за собой пачку зависимостей. Но довольно редко встречается.
2) самый правильный способ упростить добавление модулей на однотипные машины — сборка пакетов в привычном для вашей системы формате. Для centos || fedora поищите гуглом perl2rpm, cpan2rpm. Соберете свой набор пакетов для модулей, которые отсутствуют в репозиториях. 
2.1) На всякий случай добавлю, что пакеты с перловыми модулями обычно имеют имя типа perl-*.rpm, где вместо звездочки нужно подставить имя пакета с span. Например, нужен модуль, URI::Escape. Ищем на search.cpan.org, находим его в пакете «URI-1.55». Значит, пробуем поискать уже собранный пакет perl-URI, если не находим — собираем сами.
3. Еще раз повторюсь, используйте пакеты. Во-первых, будет проще отслеживать версии модулей и апгрейдить их при необходимости синхронно. Во-вторых, вы не столкнетесь с тем, что за время с последней установки модулей на cpan появились новые версии. Это может привести к довольно интересным эффектам. Например, Storable проверяет при распаковке данных, какой версией они были сериализованы, и при несовпадении пошлет довольно далеко. 

Успехов!
Установить в chroot нужные модули, сделать mtree, копировать уже готовые модули.
Так Вы убьете двух зайцев — обновлять модули нужно будет в одном месте (дальше надо будет просто скопировать на все машины облака),
добьетесь унификации.