+
+sub dxver
+{
+ my $s = shift;
+ my ($a, $b, $c, $d) = $s =~ /(\d+)\.(\d+)\.(?:(\d+)\.(\d+))?/;
+
+ my $v = sprintf( "%d.%03d", $a, $b) || 0;
+ my $br = sprintf( "%d.%03d", $c, $d) if defined $c;
+ $br ||= 0;
+
+ $main::build += $v;
+ $main::branch += $br;
+ return ($v, $br);
+}
+
+INIT {
+ ($VERSION, $BRANCH) = dxver(q$Revision$);
+}