![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| doomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 3.7.2005 Репутация: нет Всего: нет |
Скажите пожалуйста как можно постоянно следить за появляющимися сообщениями в STDOUT и обрабатывать эти данные ? Например если появляеться строка end то завершить скрипт? ну или какое другое действие.
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Бесконечным циклом. Например:
Все строки, которые не будут пустыми и не содержащие только пробелы или только слова quit или exit, будут записаны в файл data.txt в текущем каталоге. Строки можно вводить сколько угодно. После того как введёшь quit или exit, программа завершает свою работу. После чего можешь посмотреть файл. Удачи. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| doomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 3.7.2005 Репутация: нет Всего: нет |
Неее, мне надо следить за консолью, тоесть какие сообщения появляються в ней после запуска программы командой exec(C:\abc.exe) (консоль виндовая) это же ведь вроде через STDOUT монжно делать, или я не прав ?
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
doomer - либо ты не верно ставишь вопрос, либо я тебя не верно понимаю. Тебе нужно отслеживать ввод пользователя? Если да, то делается это через STDIN, STDOUT - это стандартное устройство вывода. Тебе же нуженн ввод, соответвтвенно STDIN. Ты пробовал запустить код, который я тебе привёл выше?
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| doomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 3.7.2005 Репутация: нет Всего: нет |
Мне не нужно следить за вводом пользователя, мне нужно следить из перл-скрипта за тем, что запущенная из него программа выодит в консоль, тоесть за STDOUT программы. Например запустил я телнет командой exec("telnet microsoft.com 80") а телнет выдал сообщение Could not connect to server так нужно это сообщение прочитать и взависимости от того какое сообщение выдаст телнет, выполнять определенный перл-код.
|
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
$a=qx(telnet ya.ru 80);
|
|||
|
||||
| doomer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 3.7.2005 Репутация: нет Всего: нет |
Ну так че тама, знает кто как это сделать ?
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Тебе помоему уже ответили.
Читай, что тебе написал nerezus. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |