while (s/((^|\>)[^\<]*?)\>/$1\>\;/g) { 1; } #### while (s/\<([^\>]*?(\<|$))/\<\;$1/g) { 1; } #### <<