Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет efemerid ([info]efemerid)
@ 2013-11-20 15:45:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Об perl опять
Фиф, а как поизящнее на Перле сделать такое: открываем текстовый файл, сразу откусываем первые два байта, а потом обрабатываем его, как будто ничего не случилось? Текстовых файлов может быть целая пачка, там у меня diamond operator.


(Добавить комментарий)


[info]dorkavla
2013-11-20 13:28 (ссылка)
Ну каноничный seek же!

(Ответить) (Ветвь дискуссии)


[info]efemerid
2013-11-20 21:12 (ссылка)
Воистину!

(Ответить) (Уровень выше)


(Анонимно)
2013-11-20 14:04 (ссылка)
а если хедер не двухбайтный

(Ответить) (Ветвь дискуссии)


[info]efemerid
2013-11-20 20:21 (ссылка)
У меня всегда будет двухбайтный

(Ответить) (Уровень выше)


[info]qulinxao
2014-03-22 11:08 (ссылка)
что ж ты так BOMфайлы некультурно то парсиш :)

(Ответить) (Ветвь дискуссии)


[info]efemerid
2014-03-22 14:04 (ссылка)
Хочешь об этом поговорить?

А то у меня опять проблема с парсом юникодных файлов.
Там записи разделены тремя пустыми строками, т.е. в гексах это выглядит так:

00 0D 00 0A 00 0D 00 0A 00 0D 00 0A

Никак не пойму, что прописать в $/ чтобы резало по этому месту. Я идиот, убейте меня кто-нибудь.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qulinxao
2014-03-25 19:52 (ссылка)
у sed'a есть вроде режим когда весь файл строка вот включив этот режим сделать глобальную поиск и замену вот этой вот строки на простой \n


или не мучить муму про слепить наипримитивнейший фильтр-конечный автомат который всё оставляет без изменений , а по мере прихода этой строки взводится если строка оказалась не полной то выплюнуть накопленое эжель дошли до рая выплюнуть \n и перейти в исходное состояние - понятно , что не спортивно но С-фильтр эксплуатирующий getc вполне рабочий вариант.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]efemerid
2014-03-31 20:10 (ссылка)
Короч я наебенился портвейна и написал так:

my $string = pack("CCCC", 0x00, 0x0d, 0x00, 0x0a);
$/ = $string . $string . $string;


Пьяное программирование рулит.

(Ответить) (Уровень выше)