Eu realmente decidi ir com o cpanminus através do cpan e estou usando:
# perl/manifests/init.pp
class perl {
define installCPAN () {
exec { "cpanLoad${title}":
command => "cpanm $name",
path => "/usr/bin:/usr/sbin:/bin:/sbin",
unless => "perl -I.cpan -M$title -e 1",
timeout => 600,
require => Exec["initCPAN"],
}
}
package { "perl": ensure => installed, require => Class["common"] }
exec { "initCPAN":
command => "wget -O - http://cpanmin.us | perl - --self-upgrade",
path => "/usr/bin:/usr/sbin:/bin:/sbin",
creates => "/bin/cpanm",
require => [ Class["common"], Package["perl"] ],
}
# E.g.
installCPAN { "JSON": }
installCPAN { "JSON::XS": }
}