The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Module::CPANfile - Parse cpanfile

SYNOPSIS

  use Module::CPANfile;

  my $file = Module::CPANfile->load("cpanfile");
  my $prereqs = $file->prereqs; # CPAN::Meta::Prereqs object

  $file->merge_meta('MYMETA.json');

DESCRIPTION

Module::CPANfile is a tool to handle cpanfile format to load application specific dependencies, not just for CPAN distributions.

METHODS

load
  $file = Module::CPANfile->load;
  $file = Module::CPANfile->load('cpanfile');

Load and parse a cpanfile. By default it tries to load cpanfile in the current directory, unless you pass the path to its argument.

prereqs

Returns CPAN::Meta::Prereqs object out of the parsed cpanfile.

prereq_specs

Returns a hash reference that should be passed to CPAN::Meta::Prereqs->new.

merge_meta
  $file->merge_meta('META.yml');
  $file->merge_meta('MYMETA.json', '2.0');

Merge the effective prereqs with Meta speicifcation loaded from the given META file, using CPAN::Meta. You can specify the META spec version in the second argument, which defaults to 1.4 in case the given file is YAML, and 2 if it is JSON.

AUTHOR

Tatsuhiko Miyagawa

SEE ALSO

cpanfile, CPAN::Meta, CPAN::Meta::Spec