s#^(OBX\|[^|]+\|)([^^]*)#$1 . join("",map( { s/([A-Z])/U$1/ || s/([a-z])/L$1/; $_ } split //,$2)) #e; OBX