in reply to More HTML-related regexp probs!
I don't think you want \\s*.
This actually matches a single backslash(\), and 0 or more 's'.
Replace
$line =~ s/font-size:\\s*14pt;?/font-size:\\s*18pt;?/ig;
with
$line =~ s/font-size:\s*14pt;?/font-size: 18pt;/ig;.
This will match 0 or more whitespace characters in between font-size: 14pt.
Also replace \\s* in the replacing pattern with a space and remove the ? after the semicolon.