O módulo perl CGI tem uma função escapeHTML
que facilita bastante:
perl -e 'use CGI qw(escapeHTML); print escapeHTML("<hi>\n");'
Ou para fazer um arquivo inteiro:
perl -p -e 'BEGIN { use CGI qw(escapeHTML); } $_ = escapeHTML($_);' FILENAME