####Usage
- to install needed packages include cpanm class
class{'cpanm'}
- to install perl modules globally as root
class{'cpanm':} ->
cpanm::env {'root_cpanm_env':}
cpanm::install {'App::cpanminus':}
cpanm::install {'Time::HiRes':}
- to prepare local perl and cpanm environment for user "foo"
cpanm::env {'foo_cpanm_env':
user => 'foo',
}
it means
-
cpnam binary will be placed in /home/foo/bin/
-
local perl modules will be installed into /home/foo/perl5/lib/perl5
-
to install perl module into local perl dir
# to install latest version of module
cpanm::install {'App::cpanminus': user => 'sempro',}
# to install specific version of module
cpanm::install {'Test::[email protected]': user => 'sempro',}
- example class
class foo::perl::env {
cpanm::env {'foo': user => 'foo',}
}
class foo::perl::modules {
cpanm::install {'App::cpanminus': user => 'foo',}
cpanm::install {'Time::HiRes': user => 'foo',} ->
cpanm::install {'Test::Most': user => 'foo',}
}
class{'cpanm'} ->
class{'foo::perl::env':} ->
class{'foo::perl::modules':}