[ SEA-GHOST MINI SHELL]
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
. if \nF \{
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "inc::CPAN::Meta::Prereqs 3"
.TH inc::CPAN::Meta::Prereqs 3 "2024-01-17" "perl v5.16.3" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
CPAN::Meta::Prereqs \- a set of distribution prerequisites by phase and type
.SH "VERSION"
.IX Header "VERSION"
version 2.143240
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
A CPAN::Meta::Prereqs object represents the prerequisites for a \s-1CPAN\s0
distribution or one of its optional features. Each set of prereqs is
organized by phase and type, as described in CPAN::Meta::Prereqs.
.SH "METHODS"
.IX Header "METHODS"
.SS "new"
.IX Subsection "new"
.Vb 1
\& my $prereq = CPAN::Meta::Prereqs\->new( \e%prereq_spec );
.Ve
.PP
This method returns a new set of Prereqs. The input should look like the
contents of the \f(CW\*(C`prereqs\*(C'\fR field described in CPAN::Meta::Spec, meaning
something more or less like this:
.PP
.Vb 10
\& my $prereq = CPAN::Meta::Prereqs\->new({
\& runtime => {
\& requires => {
\& \*(AqSome::Module\*(Aq => \*(Aq1.234\*(Aq,
\& ...,
\& },
\& ...,
\& },
\& ...,
\& });
.Ve
.PP
You can also construct an empty set of prereqs with:
.PP
.Vb 1
\& my $prereqs = CPAN::Meta::Prereqs\->new;
.Ve
.PP
This empty set of prereqs is useful for accumulating new prereqs before finally
dumping the whole set into a structure or string.
.SS "requirements_for"
.IX Subsection "requirements_for"
.Vb 1
\& my $requirements = $prereqs\->requirements_for( $phase, $type );
.Ve
.PP
This method returns a CPAN::Meta::Requirements object for the given
phase/type combination. If no prerequisites are registered for that
combination, a new CPAN::Meta::Requirements object will be returned, and it may
be added to as needed.
.PP
If \f(CW$phase\fR or \f(CW$type\fR are undefined or otherwise invalid, an exception will
be raised.
.SS "with_merged_prereqs"
.IX Subsection "with_merged_prereqs"
.Vb 1
\& my $new_prereqs = $prereqs\->with_merged_prereqs( $other_prereqs );
\&
\& my $new_prereqs = $prereqs\->with_merged_prereqs( \e@other_prereqs );
.Ve
.PP
This method returns a new CPAN::Meta::Prereqs objects in which all the
other prerequisites given are merged into the current set. This is primarily
provided for combining a distribution's core prereqs with the prereqs of one of
its optional features.
.PP
The new prereqs object has no ties to the originals, and altering it further
will not alter them.
.SS "merged_requirements"
.IX Subsection "merged_requirements"
.Vb 3
\& my $new_reqs = $prereqs\->merged_requirements( \e@phases, \e@types );
\& my $new_reqs = $prereqs\->merged_requirements( \e@phases );
\& my $new_reqs = $preerqs\->merged_requirements();
.Ve
.PP
This method joins together all requirements across a number of phases
and types into a new CPAN::Meta::Requirements object. If arguments
are omitted, it defaults to \*(L"runtime\*(R", \*(L"build\*(R" and \*(L"test\*(R" for phases
and \*(L"requires\*(R" and \*(L"recommends\*(R" for types.
.SS "as_string_hash"
.IX Subsection "as_string_hash"
This method returns a hashref containing structures suitable for dumping into a
distmeta data structure. It is made up of hashes and strings, only; there will
be no Prereqs, CPAN::Meta::Requirements, or \f(CW\*(C`version\*(C'\fR objects inside it.
.SS "is_finalized"
.IX Subsection "is_finalized"
This method returns true if the set of prereqs has been marked \*(L"finalized,\*(R" and
cannot be altered.
.SS "finalize"
.IX Subsection "finalize"
Calling \f(CW\*(C`finalize\*(C'\fR on a Prereqs object will close it for further modification.
Attempting to make any changes that would actually alter the prereqs will
result in an exception being thrown.
.SS "clone"
.IX Subsection "clone"
.Vb 1
\& my $cloned_prereqs = $prereqs\->clone;
.Ve
.PP
This method returns a Prereqs object that is identical to the original object,
but can be altered without affecting the original object. Finalization does
not survive cloning, meaning that you may clone a finalized set of prereqs and
then modify the clone.
.SH "BUGS"
.IX Header "BUGS"
Please report any bugs or feature using the \s-1CPAN\s0 Request Tracker.
Bugs can be submitted through the web interface at
<http://rt.cpan.org/Dist/Display.html?Queue=CPAN\-Meta>
.PP
When submitting a bug or request, please include a test-file or a patch to an
existing test-file that illustrates the bug or desired feature.
.SH "AUTHORS"
.IX Header "AUTHORS"
.IP "\(bu" 4
David Golden <dagolden@cpan.org>
.IP "\(bu" 4
Ricardo Signes <rjbs@cpan.org>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
This software is copyright (c) 2010 by David Golden and Ricardo Signes.
.PP
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
SEA-GHOST - SHELL CODING BY SEA-GHOST