Автор Тема: перемещение в файле  (Прочитано 5093 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн raba

  • Коллежский регистратор
  • *
  • Сообщений: 1
  • Репутация: 0
перемещение в файле
« : јРав 29, 2008, 10:59:03 pm »
Cтыдно спрашивать, но все же, как в Perl'e поднятся 3 строки наверх, от найденой ключевой, а потом спустится 2 строки в низ, от той же самой ключевой ?  :dash2:
« Последнее редактирование: јРав 30, 2008, 10:45:51 am от raba »

Оффлайн usmanec

  • Коллежский регистратор
  • *
  • Сообщений: 10
  • Репутация: 0
Re: перемещение в файле
« Ответ #1 : ѕЪвпСам 30, 2008, 01:10:50 am »
перемещатся по строкам файла можно, если строки имеют фиксированную велечину.
определяем текущую позицию в файле (функция $p=tell(FILE)), тогда если длина строки $lenght, то мы расматриваем $line=$p/$length-1 строку, а для перехода на $k строк вниз(вверх если $k отрицательна) используем seek(FILE,($line+$k)*$length,0). Получаем позицию в файле в начале ($line+$k) - ой строки. Читаем эту строку read(FILE,$kline,$lenght)