tart has asked for the wisdom of the Perl Monks concerning the following question:

Hi I am new to perl and looking for suggestion to make this script more clean
I am reading version number from a file which are in 2-a8.1/', '2-a8.2/', '3-a1/', '2-a8/' format
and I trying to read it and generate another file with updated version number
Suggest me if this can be done in better way
use strict; use warnings; my @arr = ('2-a8.1/', '2-a8.2/', '3-a1/', '2-a8/'); my @newArr; foreach my $vNumber(@arr) { $vNumber =~ s/\s+$//; $vNumber =~ s/\/$//; if($vNumber =~ /\./) { my $currNumber = $vNumber; $currNumber =~ s/^.*?\.//; $currNumber++; $vNumber =~ s/\..*$/\.$currNumber/; } else { $vNumber = "$vNumber.1"; } push(@newArr, $vNumber); } foreach(@newArr) { print $_,"\n"; }
Cheers

Replies are listed 'Best First'.
Re: read increase and write version number!!!
by suhailck (Friar) on Jul 22, 2010 at 06:10 UTC
    perl -le '@a=qw[2a-8.1 2a-8.2 3-a1 2-a8];foreach (@a) {s/\d(?:\.\d+)?$ +/$&+.1/e;print}'


    ~suhail