in reply to Can anyone make this regex job neater?

Untested:
s{^(OBX\|[^|]*\|)([^^]*)\^} {my ($pref, $str) = ($1, $2); $str =~ s{([A-Z])}{"U$1"}g; $str =~ s{([a-z])}{"L$1"}g; "$pref$str"}eg;
It'll be really awkward doing this with a single s///.
Perl --((8:>*