The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Число строк в файле Perl"
Отправлено andy, 23-Апр-07 05:43 
>Никакой памяти не хватит при работе с большими файлами.

а зачем читать в массив, чтобы узнать количество строк? Вам, как уже было сказано, нужно посчитать количество символов "\n".

open(FILE, "< any.txt") or die($!);
$lines_count++ while <FILE>;
close(FILE);
print $lines_count, "\n";

если напрягает расход памяти и есть жутко длинные строки можно воспользоваться sysread. В кукбуке утверждается, что самое быстрое решение выглядит так:

$count += tr/\n/\n/ while sysread(FILE, $_, 2**20); # 2**20 - читает кусками по 1Мб

Опять же, как сказано выше, `wc -l`

($lines_count) = split(/\s+/, `wc -l $filename`);

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру