Lintian::Relation::Version(3)
Comparison operators on Debian versions
Description
Lintian::Relation::Version
NAME
Lintian::Relation::Version - Comparison operators on Debian versions
SYNOPSIS
print
encode_utf8("yes\n") if versions_equal('1.0',
'1.00');
print encode_utf8("yes\n") if versions_gte('1.1',
'1.0');
print encode_utf8("no\n") if versions_lte('1.1',
'1.0');
print encode_utf8("yes\n") if versions_gt('1.1',
'1.0');
print encode_utf8("no\n") if versions_lt('1.1',
'1.1');
print encode_utf8("yes\n") if
versions_compare('1.1', '<=', '1.1');
DESCRIPTION
This module provides five functions for comparing version numbers. The underlying implementation uses "libapt-pkg-perl" to ensure that the results match what dpkg will expect.
FUNCTIONS
versions_equal(A, B)
Returns true if A is equal to B ("=") and false otherwise.
versions_lte(A, B)
Returns true if A is less than or equal ("<=") to B and false otherwise.
versions_gte(A, B)
Returns true if A is greater than or equal (">=") to B and false otherwise.
versions_lt(A, B)
Returns true if A is less than ("<<") B and false otherwise.
versions_gt(A, B)
Returns true if A is greater than (">>") B and false otherwise.
versions_compare(A, OP, B )
Returns true if A OP B, where OP is one of "=", "<=", ">=", "<<", or ">>", and false otherwise.
versions_comparator (A, B)
Returns -1, 0 or 1 if the version A is (respectively) less than, equal to or greater than B. This is useful for (e.g.) sorting a list of versions:
foreach my
$version (sort versions_comparator @versions) {
...
}
AUTHOR
Originally written by Russ Allbery <rra@debian.org> for Lintian and adapted to use libapt-pkg-perl by Adam D. Barratt <adam@adam-barratt-org.uk>.
SEE ALSO
lintian(1)