|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 21 Nov 2000 16:35:24 To : tarasov@pmi.lv Subject : Re: Чтение текстового файла. -------------------------------------------------------------------------------- tpl> Такая задачка. Есть несколько файлов со словами, каждое слово в новой tpl> строке, все отсортированы. Hеобходимо слить это дело в один файл. tpl> Требуется оптимизация по расходу памяти, так что читать все сразу tpl> не получается. Hо и о скорости не забывать. tpl> 1) Как это удобнее сделать? tpl> 2) Я пытаюсь делать так. Читаю из каждого файла скажем по 10000 строк tpl> в массивы. Сохраняю позицию, где я остановился. Hачинаю сливать tpl> массивы. Когда один из них заканчивается, открываю файл на нужной позиции tpl> и считываю следующие 10000 строк. Все работает как требуется, кроме tpl> одного. Иногда, закончив чтение, перл возвращает позицию не первого tpl> символа следующей строки, а второго. Следовательно, когда я затем tpl> читаю новый блок данных, первая строка читается со второго символа, tpl> и вся сортировка летит к %О?%. В чем может быть дело? tpl> Я нашел то место, где происходит сбой. Там все нормально, обычные буквы, tpl> затем "0D 0A" и дальше буквы. Если читать только этот файл, tpl> то сбой все время происходит на том же месте. Если читать не 10000 строк, tpl> а 5000, то тоже сбой, но уже в других местах. А сегодня на работе tpl> проверял, все работает нормально. Ты знаешь, я в таких ситуациях полагаюсь на кэш файловой системы операционки и читаю по одной строке. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/17121c4338a01.html, оценка из 5, голосов 10
|