цКЮБМЮЪ ЯРПЮМХЖЮ


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Smirnov                       2:5080/149     26 Aug 2001  15:13:46
 To : All
 Subject : How to flush buffers on handles?
 -------------------------------------------------------------------------------- 
 
 Че совсем понимаю, как вырубить буферизацию... Усть скрипт типа:
 
 open td, "tcpdump -n |";
 while ( <td> ) {
   chop;
   print "$_\n";
 }
 close td;
 
 Чо фича в том, что он выдаЦт собираемые tcpdump`ом данные пачками по
 нескольку
 десятков строк. Что мне нежелательно... Шак сделать, чтобы 
 тело цикла выполнялось сразу после прихода очередной строки?
 
 Читал perldoc perlvars, perldoc -f getc, не очень понятно там написано. 
 С внешне-вызываемой stty не хочется связываться, к тому же ей нужен
 дескриптор файла, а у меня только хэндл (или наоборот, не помню
 терминологию).
 
 Яналогичная проблема (хотя на вывод), но тут я и вовсе пас: у меня в
 проге есть 
 простейшая функция logger, которая просто пишет в определЦнном формате
 данные в лог-хэндл, открытый при начале работы скрипта. Ы вот, 
 проблема такая, что вызов logger`а в одной части программы не приводит к
 немедленному сбрасыванию буфера на файл (проверяется путЦм смотрения
 вьюером в другом процессе), а в другой части - приводит (и естественно
 сбрасываются
 все данные собранные в первом случае). Жайл открывается просто: 
 
   "open log_f, ">>", $filename;", 
 
 после этого с хэндлом ничего не делается... 
 
 ╗ереводы строки делаются процедурой logger, так что я совсем в
 непонятках, ибо
 по умолчанию вывод - line-buffered.
 
 -- 
 Andrey Smirnov,               http://pioneer.convex.ru/~amis/
 Yekaterinburg, Russia.
 --- ifmail v.2.14-tx8.10
  * Origin: AMS Station BBS (2:5080/149@fidonet)
 
 

бЕПМСРЭЯЪ Й ЯОХЯЙС РЕЛ, ЯНПРХПНБЮММШУ ОН: БНГПЮЯРЮМХЕ ДЮРШ  СЛЕМЭЬЕМХЕ ДЮРШ  РЕЛЮ  ЮБРНП 

 рЕЛЮ:    юБРНП:    дЮРЮ:  
 How to flush buffers on handles?   Andrey Smirnov   26 Aug 2001 15:13:46 
 Re: How to flush buffers on handles?   Andrey Smirnov   26 Aug 2001 18:10:29 
юПУХБМНЕ /ru.perl/9227fbca2aa7.html, НЖЕМЙЮ 1 ХГ 5, ЦНКНЯНБ 10
ъМДЕЙЯ.лЕРПХЙЮ
Valid HTML 4.01 Transitional