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"; }