Подскажите пожалуйста, как мне анализировать, что идет на стандартный вывод от
system 'telnet' 'cisco'
и посылать туда чтото?Очень благодарен за помощь!
Леоненко Дмитрий
>Подскажите пожалуйста, как мне анализировать, что идет на стандартный вывод от
>system 'telnet' 'cisco'
>и посылать туда чтото?
>
>Очень благодарен за помощь!
>Леоненко Дмитрий
system возвращает код возврата вызванной команды.
Для получения вывода надо использовать @a=`command`;А еще лучше, правильней так сказать:
open(F,"command|");
и работать с дескриптором.
Хм, а подскажите как читать всё до последнего символа... т.к. этоopen (TELNET, "$telnet|") || die "ERROR: Can not run telnet";
while(sysread(TELNET,$byte,1) == 1){print STDOUT $byte;}отдает мне вывод только построчно.... после перевода строки... а мне нада всё до последнего
>Хм, а подскажите как читать всё до последнего символа... т.к. это
>
>open (TELNET, "$telnet|") || die "ERROR: Can not run telnet";
>while(sysread(TELNET,$byte,1) == 1){print STDOUT $byte;}
>
>отдает мне вывод только построчно.... после перевода строки... а мне нада всё
>до последнего
странно, у меня отрабатывает как надо, читает посимвольно.
Или, может, имеется ввиду, что пока телнет не закончит строку, скрипт не начинает считывать?
Так это уже от телнета зависит, точнее даже от стандартных функций ввода/вывода.
ИМХО.
>>Хм, а подскажите как читать всё до последнего символа... т.к. это
>>
>>open (TELNET, "$telnet|") || die "ERROR: Can not run telnet";
>>while(sysread(TELNET,$byte,1) == 1){print STDOUT $byte;}
>>
>>отдает мне вывод только построчно.... после перевода строки... а мне нада всё
>>до последнего
>странно, у меня отрабатывает как надо, читает посимвольно.
>Или, может, имеется ввиду, что пока телнет не закончит строку, скрипт не
>начинает считывать?
>Так это уже от телнета зависит, точнее даже от стандартных функций ввода/вывода.
>
>ИМХО.Так вот я до этого использовал IO::Socket::INET
Там тоже приходилось sysread читать посимвольно и та же лажа...
Там где строка уже перевелась - оно отрабатывает, а где оно ждет вывода - оно не отдает.
стандартный telnet отрабатывает прекрасно...