ladykosha — Перлушка для превращения текста со всякими &xxx; и &#nnn; в нормальный utf8
1 2 3 4 |
#!/usr/bin/perl |
Для превращения текста со всякими &xxx; и &nnn; в обычный utf8.
Понадобилось из-за штуки, которая в виде таких numeric character references и character entity references сохраняет всё, что не основные символы (латиница, цифры и что-то ещё по минимуму). Кириллицу, например.
use HTML::Entities; - там сделали главную часть работы за меня :)
binmode ("STDOUT", ":utf8"); - чтобы Perl не ругался на необходимость печатать расшифрованное :)
print decode_entities(<>); - читать справа налево. Берём нечто со stdin - <>. Превращаем в вид желаемый - decode_entities. И печатаем - print - на stdout.
Модуль HTML::Entities мне даже ставить не пришлось, в дебиане (сквизе) он в пакете libhtml-parser-perl, который был установлен по зависимостям к rss-читалке.
Советы по улучшению или замене на лучшее приму с благодарностью. :)
Сделано было по принципу "лишь бы быстро справиться с задачей". Справилось.