Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 32.284.186 Times

Sort::Versions 1.5

  Date Added: March 23, 2010  |  Visits: 768

Sort::Versions

Report Broken Link
Printer Friendly Version


Product Homepage
Download (74 downloads)

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..

Requirements: No special requirements
Platforms: Linux
Keyword: Libraries Perl Programming Sorting Sortversions Style
Users rating: 0/10

License: Freeware Size: 5.12 KB
SORT::VERSIONS RELATED
Network & Internet  -  mod_perl 2.0.3
mod_perl project brings together the full power of the Perl programming language and the Apache HTTP server. You can use Perl to manage Apache, respond to requests for web pages and much more. mod_perl gives you a persistent Perl interpreter...
3.5 MB  
Libraries  -  Socket::PassAccessRights 0.03
Socket::PassAccessRights is a Perl extension for BSD style file descriptor passing via Unix domain sockets. SYNOPSIS use Socket::PassAccessRights; Socket::PassAccessRights::sendfd(fileno(SOCKET), fileno(SEND_ME)) or die; $fd =...
7.17 KB  
Utilities  -  Perl OS 4
Perl OS is a program written in the Perl programming language combined with the Perl module Tk. Perl OS was created to make an easy interface to run Perl/Tk programs. It was also created to be an easy working environment complete with a text...
143.36 KB  
Libraries  -  ExtUtils::ModuleMaker::PBP 0.09
ExtUtils::ModuleMaker::PBP is a Perl module to create a Perl extension in the style of Damian Conways Perl Best Practices. SYNOPSIS use ExtUtils::ModuleMaker::PBP; $mod = ExtUtils::ModuleMaker::PBP->new( NAME => Sample::Module );...
34.82 KB  
Web Authoring  -  WebAPP 1.0 SE
WebAPP is a popular, open source Content Management System (cms) written in the Perl programming language. The name WebAPP is an abbreviation of Web Automated Perl Portal. Available under the GNU General Public License, WebAPP is free software....
2 KB  
Programming  -  Acme::BOPE 0.01
Created at the base of the hill of Babylon, New York, in full evening of funk, this module allows you to make inroads Perl programming using just jargon and language taken from the famous movie "Elite Squad" director Jose Padilha
10.24 KB  
Arcade Style Games  -  Davids Perl Games 0.1.1
Davids Perl Games project is a collection of ASCII graphics arcade style games written in Perl. These games are recreations of simple ASCII graphics games originally written in BASIC. They are ideal for use as Perl programming tutorials. Some...
64.51 KB  
Libraries  -  Class::ObjectTemplate 0.7
Class::ObjectTemplate is a Perl extension for an optimized template builder base class. SYNOPSIS package Foo; use Class::ObjectTemplate; require Exporter; @ISA = qw(Class::ObjectTemplate Exporter); attributes(one, two, three); #...
6.14 KB  
Libraries  -  Language::Logo 1.000
Language::Logo Perl module is an implementation of the Logo programming language. SYNOPSIS use Language::Logo; my $lo = new Logo(update => 20); $lo->command("setxy 250 256"); $lo->command("color yellow"); $lo->command("pendown"); #...
16.38 KB  
Libraries  -  XML::Generator::PerlData 0.89
XML::Generator::PerlData is a Perl extension for generating SAX2 events from nested Perl data structures. SYNOPSIS use XML::Generator::PerlData; use SomeSAX2HandlerOrFilter; ## Simple style ## # get a deeply nested Perl data structure......
13.31 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 3.15.3
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB