Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

52 lines (32 sloc) 1.59 kB
=begin pod
class Version { }
Version objects identify version of software components (and potentially other
entities). Perl 6 uses them internally for versioning modules.
A version consists of several parts, which are visually represented by joining
them with a dot. A version part is usually an integer, a string like C<alpha>,
or a L<Whatever>-star C<*>. The latter is used to indicate that any version
part is acceptable in another version that is compared to the current one.
say v1.0.1 ~~ v.1.*; # True
Version literals can only contain numeric and L<Whatever> parts. They start
with a lower-case C<v>, and are followed by at least one part. Multiple parts
are separate with a dot C<.>. A trailing C<+> indicates that higher versions
are OK in comparisons:
say v1.2 ~~ v1.0; # False
say v1.2 ~~ v1.0+; # True
In comparisons, early parts take precedence over later parts.
say v1.2 cmp v2.1; # Increase
=head1 Methods
=head2 new
method new(Str:d $s)
Creates a Version from a string C<$s>. The string is combed
for the numeric, alphabetic, and wildcard components of the version object.
Any characters other than alphanumerics and asterisks are assumed
to be equivalent to a dot. A dot is also assumed between any adjacent
numeric and alphabetic characters.
=head2 parts
method parts(Version:D:) returns List:D
Returns the list of parts that make up this Version object
=head2 plus
method plus(Version:D:) returns Bool:D
Returns C<True> if comparisons against this version allow larger versions too.
=end pod
Jump to Line
Something went wrong with that request. Please try again.