#!/usr/bin/perl -w use strict; sub byVersion; my ($v1,$v2)=("1.1.1.1","1.1.1.2"); print "$v1 is equal to $v2\n" if (byVersion($v1,$v2)== 0); print "$v1 is greater than $v2\n" if (byVersion($v1,$v2)== 1); print "$v1 is less than $v2\n" if (byVersion($v1,$v2)==-1); sub byVersion { my @First=split /\./,$a||shift; my @Second=split /\./,$b||shift; foreach(0..(($#First>$#Second)?$#Second:$#First)) { next if ($First[$_] eq $Second[$_]); return (($First[$_]=~/^\d+$/o)&&($Second[$_]=~/^\d+$/o))?($First[$_]<=>$Second[$_]):($First[$_] cmp $Second[$_]); } return ($#First<=>$#Second); }