$str="abcz123def456"; print "\nFirst interpret"; @arr=($str=~m/([a-zA-Z]+|[0-9]+)/g); $nextstr= join("", map {++$_} @arr); print "\nString: $str"; print "\nNext: $nextstr"; print "\n\nSecond interpret"; @arr=split(//,$str); $nextstr=join("",map{++$_;$_=substr($_,-1,1);} @arr); print "\nString: $str"; print "\nNext: $nextstr";