![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Очень простой вопрос: Как читать файл не весь сразу(как это делает open(...);@txt=<file>;, грузя весь файл в память), а побайтово? А то очень не удобно, когда надо оч большой файл читать(>100 мегов)...
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Perl_sapiens, читаем описание функции read
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
perldoc -f read
Добавлено через 20 секунд Опоздал) -------------------- Died at Life.pl line 21 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
$/ = \1
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Уважаемый arto, а '\1' - это, случайно, не ссылка на константу?
P.S. Вопрос снимается, т.к. "чукча не читатель, чукча - писатель" Это сообщение отредактировал(а) ginnie - 19.3.2008, 18:57 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Люди, а можно пример, а то я в англ. не оч хорошь
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Пример из Интернета
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Спс. И последних 2 вопроса:
1) read FILEHANDLE,SCALAR,LENGTH,OFFSET. Что значит тут ОФФСЕТ? 2) Как прочесть не с начало файла, а, скажем, с 10 байта? |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Perl_sapiens, неужели вы читать не умеете? оО
-------------------- Died at Life.pl line 21 |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
||||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Perl_sapiens, если файл не бинарный, то, может, сгодится не по-байтово, а по-строчно? Перл идеально приспособлен для обработки строк, и многие вещи будет сделать гораздо легче.
|
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
seek, tell, pack, unpack, read, write, truncate, ...
|
|||
|
||||
| GoDleSS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: 2 Всего: 2 |
Perl_sapiens, вот еще в нагрузку старенький набросок для чтения указанного размера строк с конца файла, опирается на sysseek и побайтовое чтение. Не сказать, что слишком грамотный пример, но зато простой
--------------------
It's a nice day to die my friend! |
|||
|
||||
| BurnerCode |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.2.2008 Где: Беларусь Репутация: нет Всего: нет |
Perl_sapiens я так понял у тебя файл не постоянен, т.е. обнавляется (наверное логфайл).
Вот отрывок из моего сценария:
Очень удобно исп функции sysseek и tell тогда когда у тебя файл обнавляется и тебе нужна его парсить не с 0-ля а с последней позиции. |
|||
|
||||
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
amg, я так понимаю по-строковое чтение, это до символа \n... Какой коммандой это осуществляется?(думаю, что в моём случае этот вариант лучше)
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |