#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @array = ("M94202", "M94150", "M94297", "M94150", "M94161", "M94161", "M94162"); my $z = 1; foreach my $item (@array) { if ($item =~ m/M/g) { my $uniqitem = $item; foreach $uniqitem (@array) { $uniqitem =~ s/$uniqitem/$z/g; $z = $z +2; } } } print Dumper \@array; print "\n";