sub fix_old_html { require HTML::Entities; my @in = @_; foreach (@in) { s#(?<=\<)(/?[A-Z]+)(.*?)(?=\>)# my ($start, $end) = ($1, $2); $end =~ s/(?<=\s)([A-Z]+)(?=\=)/lc($1)/eg; lc($start) . $end; #eg; s#(]*)target=(['"]?)_blank\2#$1#g; 1 while (s|&(?!#?[a-zA-Z0-9]{2,6};)|&|g); s#]*)>##g; $_ = HTML::Entities::encode($_, "\xA0-\xFF"); } return @in; }