Sort::Versions 1.5
Sponsored Links
Sort::Versions 1.5 Ranking & Summary
File size:
0.005 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
890
Date added:
2007-05-22
Publisher:
Ed Avis and Matt Johnson
Sort::Versions 1.5 description
Sort::Versions is a Perl 5 module for sorting of revision-like numbers.
SYNOPSIS
use Sort::Versions;
@l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a );
...
use Sort::Versions;
print lower if versioncmp(1.2, 1.2a) == -1;
...
use Sort::Versions;
%h = (1 => d, 2 => c, 3 => b, 4 => a);
@h = sort { versioncmp($h{$a}, $h{$b}) } keys %h;
Sort::Versions allows easy sorting of mixed non-numeric and numeric strings, like the version numbers that many shared library systems and revision control packages use. This is quite useful if you are trying to deal with shared libraries. It can also be applied to applications that intersperse variable-width numeric fields within text. Other applications can undoubtedly be found.
For an explanation of the algorithm, its simplest to look at these examples:
1.1 < 1.2
1.1a < 1.2
1.1 < 1.1.1
1.1 < 1.1a
1.1.a < 1.1a
1 < a
a < b
1 < 2
1.1-3 < 1.1-4
1.1-5 < 1.1.6
More precisely (but less comprehensibly), the two strings are treated as subunits delimited by periods or hyphens. Each subunit can contain any number of groups of digits or non-digits. If digit groups are being compared on both sides, a numeric comparison is used, otherwise a ASCII ordering is used. A group or subgroup with more units will win if all comparisons are equal. A period binds digit groups together more tightly than a hyphen.
Some packages use a different style of version numbering: a simple real number written as a decimal. Sort::Versions has limited support for this style: when comparing two subunits which are both digit groups, if either subunit has a leading zero, then both are treated like digits after a decimal point. So for example:
0002 < 1
1.06 < 1.5
This wont always work, because there wont always be a leading zero in real-number style version numbers. There is no way for Sort::Versions to know which style was intended. But a lot of the time it will do the right thing. If you are making up version numbers, the style with (possibly) more than one dot is the style to use.
USAGE
The function versioncmp() takes two arguments and compares them like cmp. With perl 5.6 or later, you can also use this function directly in sorting:
@l = sort versioncmp qw(1.1 1.2 1.0.3);
The function versions() can be used directly as a sort function even on perl 5.005 and earlier, but its use is deprecated.
SYNOPSIS
use Sort::Versions;
@l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a );
...
use Sort::Versions;
print lower if versioncmp(1.2, 1.2a) == -1;
...
use Sort::Versions;
%h = (1 => d, 2 => c, 3 => b, 4 => a);
@h = sort { versioncmp($h{$a}, $h{$b}) } keys %h;
Sort::Versions allows easy sorting of mixed non-numeric and numeric strings, like the version numbers that many shared library systems and revision control packages use. This is quite useful if you are trying to deal with shared libraries. It can also be applied to applications that intersperse variable-width numeric fields within text. Other applications can undoubtedly be found.
For an explanation of the algorithm, its simplest to look at these examples:
1.1 < 1.2
1.1a < 1.2
1.1 < 1.1.1
1.1 < 1.1a
1.1.a < 1.1a
1 < a
a < b
1 < 2
1.1-3 < 1.1-4
1.1-5 < 1.1.6
More precisely (but less comprehensibly), the two strings are treated as subunits delimited by periods or hyphens. Each subunit can contain any number of groups of digits or non-digits. If digit groups are being compared on both sides, a numeric comparison is used, otherwise a ASCII ordering is used. A group or subgroup with more units will win if all comparisons are equal. A period binds digit groups together more tightly than a hyphen.
Some packages use a different style of version numbering: a simple real number written as a decimal. Sort::Versions has limited support for this style: when comparing two subunits which are both digit groups, if either subunit has a leading zero, then both are treated like digits after a decimal point. So for example:
0002 < 1
1.06 < 1.5
This wont always work, because there wont always be a leading zero in real-number style version numbers. There is no way for Sort::Versions to know which style was intended. But a lot of the time it will do the right thing. If you are making up version numbers, the style with (possibly) more than one dot is the style to use.
USAGE
The function versioncmp() takes two arguments and compares them like cmp. With perl 5.6 or later, you can also use this function directly in sorting:
@l = sort versioncmp qw(1.1 1.2 1.0.3);
The function versions() can be used directly as a sort function even on perl 5.005 and earlier, but its use is deprecated.
Sort::Versions 1.5 Screenshot
Sort::Versions 1.5 Keywords
Versions 1.5
Perl 5
1.1a
numbers
Perl
h
sorting
style
1.2
Sort::Versions
SortVersions
Sort::Versions 1.5
Libraries
Programming
Bookmark Sort::Versions 1.5
Sort::Versions 1.5 Copyright
WareSeeker periodically updates pricing and software information of Sort::Versions 1.5 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Sort::Versions 1.5 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
Related Software
Module::Versions is a Perl module to handle versions of loaded modules with flexible result interface. Free Download
Sort::Key is the fastest way to sort anything in Perl. Free Download
Sort::External is a Perl module that can sort huge lists. Free Download
RAS::PortMaster.pm is a Perl Interface to Livingston PortMaster 2. Free Download
Sort::Radix is a Perl module with multiple passes distribution sort algorithm. Free Download
rlytest project tests a host to determine whether it will relay third-party email. Free Download
Robsort Sorting Algorithm is a sorting algorithm which uses random numbers. Free Download
Sort::Fields is a Perl module that can sort lines containing delimited fields. Free Download
Latest Software
Popular Software
Favourite Software