Вы не можете использовать cmd
или login
, если не можете заставить удаленную сторону выдавать подсказку, потому что они зависят от подсказки, чтобы знать, когда команда завершена.
Вы можете использовать $telnet->print('command')
для выдачи команд. То, как вы читаете вывод, зависит от того, как вы ожидаете распознать конец вывода.
Если в последней строке есть какой-то узнаваемый шаблон, вы можете использовать waitfor
в контексте списка.
Если вы знаете, сколько будет строк вывода, вы можете использовать getline
и прочитать столько строк.
В худшем случае я, вероятно, использовал бы getline
с таймаутом и предположил, что команда была завершена через N секунд без вывода.