Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 63 lines (41 sloc) 1.394 kb

cpanfile - A format for describing CPAN dependencies for Perl applications

  requires 'Catalyst', '5.8000';
  requires 'CatalystX::Singleton', '>= 1.1000, < 2.000';

  recommends 'JSON::XS', '2.0';
  conflicts 'JSON', '< 1.0';

  osname 'MSWin32' => sub {
      requires 'Win32::File';

  on 'test' => sub {
      requires 'Test::More', '>= 0.96, < 2.0';
      recommends 'Test::TCP', '1.12';

  on 'develop' => sub {
      recommends 'Devel::NYTProf';

  perl '< v5.10' => sub {
      requires 'Hash::Util::FieldHash::Compat';


cpanfile describes CPAN dependencies required to execute associated Perl code.

Place the cpanfile in the root of the directory containing the associated code. For instance, in a Catalyst application, place the cpanfile in the same directory as myapp.conf.

Tools supporting cpanfile format (e.g. cpanm and carton) will automatically detect the file and install dependencies for the code to run.

Tatsuhiko Miyagawa

The format (DSL syntax) is inspired by Module::Install and Module::Build::Functions.

cpanfile specification (this document) is based on Ruby's Gemfile specification.

CPAN::Meta::Spec Module::Install Carton

Hey! The above document had some coding errors, which are explained below:

=back without =over

Something went wrong with that request. Please try again.