in reply to Encode quotes except in HTML?

Start with HTML::Parser (or one of its relatives like HTML::Filter). Writing a decent HTML parser inside a regular-expression is impossible.
package HTML::Quoter; require HTML::Filter; @ISA=qw(HTML::Filter); my $data=''; sub output{ my $self=shift; my $d=$_[0]; if($d=~/\<\s*\/?\s*(\w+)/){ $data.=$d; }else{ $d=~s/\"/&quot;/gs; $data.=$d; } } my $p=HTML::Quoter->new(); $p->parse_file("quotes.html"); print $data;