LINUX.ORG.RU

[perl] чтение из дописываемового файла...

 


0

0

Нужно обрабатывать вывод программы по мере его поступления. Добиться надо приблизительно следующего эффекта:

$ ping ya.ru|sed -ne 's/.*/1/p'

Такой скрипт

#!/usr/bin/perl

while (1)
{
    $line = readline *STDIN;
    print 1;
}
того же самого не делает. Подозреваю потому что ждёт когда ping закончит вывод (чего само собой не произойдёт). Никак не возьму в толк как это победить.

★★★★★

google говорит, что есть File::Tail или

open(INFILE,"tail -0f $in |") || die "Failed!\n";
while(my $line = <INFILE>)
{
  do whatever to $line;
};
close(INFILE)

ЗЫ сам не пробовал, просто делать нечего :)

SOmni ★★
()
Ответ на: комментарий от anonymous

Спасибо тебе anonymous, похоже то что надо.

KblCb ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.