Seems the text in the parens changes slightly for each of his sub strings. I changed
Abigail-II's example to take this into acccount.
my %text = ( p1 => '(file inquiry - launch page)',
p2 => '(file search - replace - operators)',
p3 => '(file notepad)',
b1 => '(file inquiry: old - owners and preowners)',
p0 => '(file search)',
c0 => '(file search)',
c1 => '(file inquiry)',
c3 => '(file notepad)',
h1 => '(file and arch inquiry and history)');
s!iapw_(\w\d)!qq {<font color = "navy" size = "2"><b>\U$1\E} .
qq {</b><font color = "#000000" size = "2"><b><i>} .
qq { = $text{$1}</i></b></font>}!eg for @a_data;
(Oh, I also tested it -- it works!)
Cheers,
Shendal