CPAN::Meta::Merge(3pm) | Perl Programmers Reference Guide | CPAN::Meta::Merge(3pm) |
CPAN::Meta::Merge - Merging CPAN Meta fragments
version 2.150010
my $merger = CPAN::Meta::Merge->new(default_version => "2"); my $meta = $merger->merge($base, @additional);
This creates a CPAN::Meta::Merge object. It takes one mandatory named argument, "version", declaring the version of the meta-spec that must be used for the merge. It can optionally take an "extra_mappings" argument that allows one to add additional merging functions for specific elements.
The "extra_mappings" arguments takes a hash ref with the same type of structure as described in CPAN::Meta::Spec, except with its values as one of the defined merge strategies or a code ref to a merging function.
my $merger = CPAN::Meta::Merge->new( default_version => '2', extra_mappings => { 'optional_features' => \&custom_merge_function, 'x_custom' => 'set_addition', 'x_meta_meta' => { name => 'identical', tags => 'set_addition', } } );
Merge all @fragments together. It will accept both CPAN::Meta objects and (possibly incomplete) hashrefs of metadata.
"merge" uses various strategies to combine different elements of the CPAN::Meta objects. The following strategies can be used with the extra_mappings argument of "new":
[ a, b ] U [ a, c] = [ a, b, c ]
This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2022-02-19 | perl v5.34.1 |