На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Внимательно изучите правила раздела перед созданием темы
0. ПРИЛАГАЙТЕ СВОИ СКРИПТЫ.
1. Прежде чем создать топик, используйте поиск. Возможно это уже обсуждалось.
2. В топике указывайте ОС, режим работы скрипта (CLI|CGI). Очень желателен вывод лог-файлов и того места, куда у вас назначен вывод данных (STDOUT|STDERR)
3. Помните: вы знаете что вы хотите, а форумчане - нет. Поэтому следуйте простому правилу: грамотный развернутый вопрос - грамотный развернутый ответ.
Модераторы: ANDLL
  
    > Net::Telnet: getlines не возвращает строки в flat run (в debug работает) , Количество строк, возвращаемого с Cisco, корректно в случае debug (-d), и некорректно в flat run
      Добрый день.

      Возникла задача пообщаться с Cisco по телнету, начал писать скрипт на perl опять же самой малой кровью, то есть, с использованием готового модуля Net::Telnet 3.03.

      Код написался, при запуске в дебаггере отрабатывает корректно (возвращает 147 строк), при запуске из shell возвращает засланную команду (которая echo-ed Cisco), остальные строки куда-то исчезают.

      Включены логи, по логам вижу, что именно так и есть.

      Может, это баг модуля какой-то известный? Никто не сталкивался?

      Пока рассматриваю вариант отказа от модуля и переписывания на raw sockets, правда, для этого придется реализовывать сам протокол telnet, что, в принципе, не хотелось бы...

      То есть, буквально, претензия к коду:

      ExpandedWrap disabled
                @llines = $t->getlines(All => 0);


      Он по-разному работает в зависимости от наличия и отсутствия -d.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0193 ]   [ 15 queries used ]   [ Generated: 28.03.24, 18:23 GMT ]