sub convert { my $in = shift; return ( '&#' . ord($in) . ';'); } $line =~ s/([\&\'\;\\\"\|\*\?\~\^\(\)\[\]\{\}\$\n\r\<\>])/&convert($1)/g;