in reply to Replace characters within string

#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11146755 use warnings; while( <DATA> ) { chomp; print "\n$_\n"; s/^(U+)/ 'I' x length $1 /e; s/(U+)$/ 'O' x length $1 /e; s/(?<=([^U]))(U+)(?=\1)/ $1 x length $2 /ge; print "$_\n"; } __DATA__ UUUUUUUUIIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOO IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOOUUUUUUUU IIIIIIIIIIIIIIIMMMMMMMMMMMUUUUUUUUMMMMMMMMMMMMMOOOO IIIIIIIUUUUUIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOUUUUUUUOO IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOUUOO IUIUIUIUIUIUIUIUI

Outputs:

UUUUUUUUIIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOO IIIIIIIIIIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOO IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOOUUUUUUUU IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOOOOOOOOOO IIIIIIIIIIIIIIIMMMMMMMMMMMUUUUUUUUMMMMMMMMMMMMMOOOO IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOO IIIIIIIUUUUUIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOUUUUUUUOO IIIIIIIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOOOOOOOO IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOUUOO IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOOO IUIUIUIUIUIUIUIUI IIIIIIIIIIIIIIIII