#!/usr/bin/perl -w use strict; use Getopt::Std; my (%opts, $mode, $s); getopts('me', \%opts); if ($opts{m}) { $mode = 0; } elsif ($opts{e}) { $mode = 1; } else { die "usage: get-version.pl [-e | -m]\n"; } $s = <>; chomp $s; my @line = split(/\./, $s); my ($kmicro, $kextra); if ($#line == 3) { $kmicro = $line[2]; $kextra = "." . $line[3]; } else { my @more = split(/-/, $line[2]); if ($#more == 1) { $kmicro = $more[0]; $kextra = "-" . $more[1]; } elsif (($#more == 0) && ($line[2] =~ /\d+/)) { $kmicro = $more[0]; $kextra = ""; } else { die "invalid extraversion parse"; } } if ($mode) { $s = $kextra; } else { $s = $kmicro; } printf("%s\n", $s) unless ($s eq ""); exit(0);