A CPAN::Meta::Requirements object models a set of version constraints like those specified in the META.yml or META.json files in CPAN distributions. It can be built up by adding more and more constraints, and it will reduce them to the simplest representation.

Logically impossible constraints will be identified immediately by thrown exceptions.

This returns a string containing the version requirements for a given module in the format described in CPAN::Meta::Spec or undef if the given module has no requirements. This should only be used for informational purposes such as error messages and should not be interpreted or used for comparison (see "accepts_module" instead.)

This method marks the requirements finalized. Subsequent attempts to change the requirements will be fatal, if they would result in a change. If they would not alter the requirements, they have no effect.

If a finalized set of requirements is cloned, the cloned requirements are not also finalized.