Paladin's answer is adequate, but somewhat tightly bound to the problem domain. Here's a more generic one. Note the 'g' modifier will make this one perform the transformation on every 'tag' in your string. If there is never multiple 'tags' then you can drop the 'g'. Assumes no newlines:
$line =~ s/<([^=]+)=([^>]+)>/<$1=\U$2>/g;
Both solutions provided thus far are still vulnerable to spurient '<' or '>' characters appearing outside of the tag construct in your string.
Matt