Creates a new Module::CPANfile object from prereqs hash you can get
via CPAN::Meta's "prereqs", or CPAN::Meta::Prereqs'
"as_string_hash".
# read MYMETA, then feed the prereqs to create Module::CPANfile
my $meta = CPAN::Meta->load_file('MYMETA.json');
my $file = Module::CPANfile->from_prereqs($meta->prereqs);
# load cpanfile, then recreate it with round-trip
my $file = Module::CPANfile->load('cpanfile');
$file = Module::CPANfile->from_prereqs($file->prereq_specs);
# or $file->prereqs->as_string_hash
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".
features
Returns a list of features available in the cpanfile as
CPAN::Meta::Feature.
prereqs_with(@identifiers)
Retuens CPAN::Meta::Prereqs object, with merged prereqs for features
identified with the @identifiers.
Returns a canonical string (code) representation for cpanfile.
Useful if you want to convert CPAN::Meta::Prereqs to a new cpanfile.
# read MYMETA's prereqs and print cpanfile representation of it
my $meta = CPAN::Meta->load_file('MYMETA.json');
my $file = Module::CPANfile->from_prereqs($meta->prereqs);
print $file->to_sring;
By default, it omits the phase where there're no modules registered.
If you pass the argument of a true value, it will print them as
well.
save
$file->save('cpanfile');
Saves the currently loaded prereqs as a new "cpanfile" by calling
"to_string". Beware this method will overwrite the existing cpanfile
without any warning or backup. Taking a backup or giving warnings to
users is a caller's responsibility.
# Read MYMETA.json and creates a new cpanfile
my $meta = CPAN::Meta->load_file('MYMETA.json');
my $file = Module::CPANfile->from_prereqs($meta->prereqs);
$file->save('cpanfile');
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.