perl

deprecated
Puppet module for perl

Example42

example42

54,045 downloads

8,523 latest version

4.1 quality score

Version information

  • 2.0.28 (latest)
  • 2.0.27
  • 2.0.25
  • 2.0.24
  • 2.0.23
  • 2.0.22
  • 2.0.21
  • 2.0.20
  • 2.0.19
  • 2.0.18
  • 2.0.17
  • 2.0.16
  • 2.0.15
  • 2.0.14
  • 2.0.13
  • 2.0.12
released May 14th 2018
This module has been deprecated by its author since Oct 29th 2019.

The reason given was: No longer maintained

The author has suggested example42-tp as its replacement.

Start using this module

Documentation

example42/perl — version 2.0.28 May 14th 2018

Deprecation notice

This module was designed for Puppet versions 2 and 3. It should work also on Puppet 4 but doesn't use any of its features.

The current Puppet 3 compatible codebase is no longer actively maintained by example42.

Still, Pull Requests that fix bugs or introduce backwards compatible features will be accepted.

Puppet module: perl

This is a Puppet module to manage perl and perl modules on CPAN.

Based on Example42 layouts by Alessandro Franceschi / Lab42

Official site: http://www.example42.com

Official git repository: http://github.com/example42/puppet-perl

Module development sponsored by JobRapido

Released under the terms of Apache 2 License.

This module requires the presence of Example42 Puppi module in your modulepath.

USAGE - Modules installation

  • Install a module via CPAN Minus

      include ::perl # You need the perl main class to be already evaluated         perl::module { 'Path::Class': }
    
  • Install a module via CPAN command

      include ::perl
      perl::cpan::module { 'Path::Class': }
    
  • Remove a module previously installed via CPAN Minus

      perl::module { 'Path::Class':
        ensure => absent,
      }
    
  • Install a module using the OS packages

      perl::module { 'YAML::Perl':
        use_package => true,
      }
    

Note that the prefix name of the package (perl-) is automatically added and the :: are converted to -. The actual package installed in this case is therefore: perl-YAML-Perl

  • Install a module from the given url

      perl::module { 'My::Module':
        url => 'http://repo.example42.com/perl/my-module.tgz',
      }
    
  • Install a module (via cpan) setting environment variables

      perl::module { 'Path::Class':
        exec_environment => [ "http_proxy=http://proxy.example42.com:8080" , "https_proxy=https://proxy.example42.com:8080" ],
      }
    

USAGE - Basic management

  • Install perl with default settings

      class { 'perl': }
    
  • Install a specific version of perl package

      class { 'perl':
        version => '1.0.1',
      }
    
  • Remove perl resources

      class { 'perl':
        absent => true
      }
    
  • Automatically include a custom subclass

      class { 'perl':
        my_class => 'example42::my_perl',
      }