New Supermarket Announcements!

Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the supermarket mailing list.

Select Supported Platforms


perl (12) Versions 2.0.0

Installs perl and provides a resource for maintaining CPAN modules

cookbook 'perl', '~> 2.0.0'
cookbook 'perl', '~> 2.0.0'
knife cookbook site install perl
knife cookbook site download perl

perl Cookbook

Build Status Cookbook Version

Manages Perl installation and provides cpan_module, to install modules from... CPAN.



  • Debian/Ubuntu/Mint
  • RHEL/CentOS/Scientific/Amazon/Oracle
  • Fedora
  • ArchLinux
  • Windows


  • Chef 11+


  • none


  • perl['packages'] - platform specific packages installed by default recipe
  • perl['cpanm']['path'] - platform specific path for cpanm binary to live
  • perl['cpanm']['url'] - URL to download cpanm script from
  • perl['cpanm']['checksum'] - checksum for the above remote file


To install a module from CPAN:

cpan_module 'App::Munchies'

Optionally, installation can forced with the 'force' parameter.

cpan_module 'App::Munchies'
  force true

You can also use cpanm's version mechanism to grab a specific version, or glob a version.

Exactly version 1.01 of App::Munchies will be installed:

cpan_module 'App::Munchies'
  version '== 1.01'

At least version 1.01 of App::Munchies will be installed:

cpan_module 'App::Munchies'
  version '1.01'

At least version 1.01 will be installed, but not version 2:

cpan_module 'App::Munchies'
  version '>= 1.01, < 2.0'

Additionally, you can use the cpan_module LWRP to delete a given package (uses cpanm's --uninstall param)

cpan_module 'App::Munchies'
  action :uninstall

License & Authors

Author: Cookbook Engineering Team (

Copyright: 2009-2015, Chef Software, Inc. ``` Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

apache2_odin_auth Applicable Versions
backuppc-server Applicable Versions
bamboo Applicable Versions
freightyard Applicable Versions
gitlab Applicable Versions
ldapknife Applicable Versions
logwatch Applicable Versions
mogilefs Applicable Versions
munin-statsd Applicable Versions
nginx_simplecgi Applicable Versions
openvas Applicable Versions
rackspaceknife Applicable Versions
sanoid Applicable Versions
smokeping Applicable Versions
snmp Applicable Versions
spacewalk-server Applicable Versions
stash Applicable Versions
taskwarrior Applicable Versions
zone2ldif Applicable Versions

perl Cookbook CHANGELOG

This file is used to list changes made in each version of the perl cookbook.

v2.0.0 (2015-09-24)

  • Rewrote cpan_module definition as a LWRP with Chefspec tests and matchers
  • Add the ability to select version in the cpan_module LWRP
  • Fixed cpan_module incompatibility with Chef 12
  • Fixed download location for cpanm to prevent failures on the redirect
  • Removed Chef 10 compatibility. This cookbook now requires 11+
  • Added libwww-perl installation on Debian systems
  • Added support for RHEL/CentOS 7 and Fedora to the default.rb recipe
  • Added source_url and issues_url metadata
  • Added a chefignore file to limit files uploaded to the server
  • Updated Contributing and Testing docs
  • Added a rakefile for simplified testing
  • Added and maintainers.toml file and a Rake task for generating MD from TOML
  • Updated platforms tested in Kitchen CI and update the Kitchen config format
  • Updated to the standard chef .rubocop.yml file
  • Updated all testing and development gems to the latest
  • Add basic Chefspec test
  • Updated Travis CI to test on modern ruby versions and reenabled rspec and foodcritic testing
  • Added cookbook version and Travis CI badges to the readme
  • Added a .foodcritic file to skip FC015
  • Removed all references to Opscode
  • Remove the Gemfile.lock that shouldn't have been committed

v1.2.4 (2014-06-16)

  • [COOK-4725] Use windows_path to set the PATH


New Feature

  • COOK-4013 - add omnios support to perl cookbook





  • [COOK-2973]: perl cookbook has foodcritic errors


  • [COOK-1765] - Install Strawberry Perl on Windows in Perl Cookbook


  • [COOK-1300] - add support for Mac OS X


  • [COOK-1129] - move lists of perl packages to attributes by platform
  • [COOK-1279] - resolve regression from COOK-1129
  • [COOK-1299] - use App::cpanminus (cpanm) to install "cpan packages"


  • [COOK-1279] Re-factor recipe and fix platform_version 5 bug for redhat family platforms


  • [COOK-1129] centos/redhat needs the CPAN RPM installed


  • Current released version

2.0.0 passed Foodcritic.