Skip to content
Ulrich Habel edited this page Feb 24, 2013 · 6 revisions

Here are a few usage examples how the new puppet-perlbrew module can be used. Some parts of the documentation will change without any warning!

DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT- DRAFT - DRAFT - DRAFT - DRAFT - DRAFT

The class and the environment has to be initialized

There is nothing we can do about. Really. We need to have everything defined and setup. Therefore you must use the class inside your node definition or your site.pp file. The setup is fully automatic and everything will have sane defaults. If you want - you can override the parameters of course.

# Initialize the class and setup the toolchain
class {'perlbrew:}

The installation of a Perl interpreter

The installation is very simple. Just call the define from the same node definition or your site.ppto build and install a Perl interpreter. The only parameter which is needed is the version as there is no sane default. Everything else will be configured automatically.

# Installing the Perl interpreter version 5.10.1 and name it legacy-perl
perlbrew::build { 'legacy-perl':
  version => '5.16.2',
}

If you don't use the explicit name tag for the instance name you can use the even short form:

# Installing the Perl interpreter version 5.16.2
perlbrew::build { '5.16.2':}

The installation of a Perl module

The puppet-perlbrew modules features a full toolchain. Therefore we do have cpanminus included and it can be used to install Perl modules. The only thing that you need to specify is the name of the module.

# Installing a Perl module
perlbrew::module { 'Mojolicious Stack':
  module => 'Mojolicious',
}