LINUX.ORG.RU

Perl/Tk


0

0

Решил тут написать гуй, но столкнулся с проблемой:

open FILE, "FILE.1"; $mw->fileevent(FILE,'readable',[\&PRINTER]); MainLoop; sub PRINTER{ $text=<FILE>; $textH -> insert('0.0', "$text"); }

проблема в том, что fileevent входит в бесконечный цикл.

плиз хелп, кто чем может.

anonymous

FILE.1 у вас всегда readable (если это файл на диске).
Процедура PRINTER у вас вставляет $text в начало этого файла (при этом перемещения прозиции в файле не происходит, те до EOF он не доходит и FILE остается readable все время).
Стандартная практика - если файл не pipe, fifo, device, socket - читать его целиком и парсить потом как вздумается, после чего записывать назад.

geekkoo
()
Ответ на: комментарий от geekkoo

Процедура PRINTER вставляет $text хендл окна ($textH) А что делать если файл - пайп?

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