#!/usr/bin/perl #undef $/; #$/=''; my %ent = # em utf8... qw( aacute á Aacute Á acirc â Acirc  agrave à Agrave À aring å Aring Å atilde ã Atilde à auml ä Auml Ä aelig æ AElig Æ ccedil ç Ccedil Ç eacute é Eacute É ecirc ê Ecirc Ê egrave è Egrave È euml ë Euml Ë iacute í Iacute Í icirc î Icirc Î igrave ì Igrave Ì iuml ï Iuml Ï ntilde ñ Ntilde Ñ oacute ó Oacute Ó ocirc ô Ocirc Ô ograve ò Ograve Ò oslash ø Oslash Ø otilde õ Otilde Õ ouml ö Ouml Ö szlig ß uacute ú Uacute Ú ucirc û Ucirc Û ugrave ù Ugrave Ù uuml ü Uuml Ü yacute ý Yacute Ý yuml ÿ deg ° ordm º ordf ª copy © quot ' euro € laquo « raquo » amp & lt < gt > nbsp _SPACE_ ); while(<>){ next if m{//; print html2u($_); } sub html2u{ my $f = shift; for ($f){ s#\&(\w+);#$ent{$1} || $& #ge; s#\&\#(\d+);# pack("U",$1) #ge; s#\&\#x([\dA-Fa-f]+);# pack("U",hex($1)) #ge; s#_SPACE_# #ig; } $f }