|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Smirnov 2:5080/149 09 Sep 2001 20:24:47 To : All Subject : input bufferization --------------------------------------------------------------------------------
╦ так и не нашЦл, как отключить буферизацию вводимых данных (или сделать
еЦ построчной, что для меня одно и тоже), что бы задачка типа:
#!/usr/bin/perl
open td, "tcpdump |";
while ( <td> ) { print $_; }
правильно работала в реальном режиме времени, а не выкидывала бы всЦ
кусками по
несколько десятков строк...
Сегодня убил полдня для чтения документации, но так и не понял как это
реализовать...
Читал:
- perldoc -f getc (вызывать внешнюю stty не хочется, к тому
же хочется портабельности хотя бы до FreeBSD, а определять тип фс не
хочется тоже).
- perldoc POSIX (не понятно как привести файлхэндл к файлдескриптору,
если это вообще возможно + не понятно, какую константу использовать (man
termios что-то тоже не сильно прояснил ситуацию) ).
- доки на CPAN, касающиеся Term::ReadKey, IO::Stty и ещЦ пары модулей с
CPAN (просто
нет времени проверять, к тому же это всЦ же не совсем то, что нужно,
судя по докам).
- perldoc ipc (в FSF`шном cat опция -u отсутствует, к тому же я совсем
не уверен,
что даже если бы она была, строка open td, "tcpdump | cat -u |" работала
бы так, как я хочу).
_╗ожалуйста_, помогите несчастному прогр... ладно, юзеру... Скажите как
выключить
эту ... буферизацию ввода как можно более портабельным способом
(POSIX?)... Я то я
уже затр... :-(((
--
Andrey Smirnov, http://pioneer.convex.ru/~amis/
Yekaterinburg, Russia.
--- ifmail v.2.14-tx8.10
* Origin: AMS Station BBS (2:5080/149@fidonet)
бЕПМСРЭЯЪ Й ЯОХЯЙС РЕЛ, ЯНПРХПНБЮММШУ ОН: БНГПЮЯРЮМХЕ ДЮРШ СЛЕМЭЬЕМХЕ ДЮРШ РЕЛЮ ЮБРНП
юПУХБМНЕ /ru.perl/9227b1a1dfd0.html, НЖЕМЙЮ ХГ 5, ЦНКНЯНБ 10
|