my @allkeys = qw (hallo ciao hi hallo hi hello hi); my %seen; my @new_array = map ( renameElm($_), @allkeys ); print "@new_array"; sub renameElm { my $elm = shift; $elm .= $seen{$elm} if( $seen{$elm}++ ); return $elm; }