Я думаю, что основная проблема заключается в том, что вам не хватает возврата каретки (\ r)
Обычно, когда вы взаимодействуете с терминалом, таким как telnet, вы заметите, что каждый раз, когда вы нажимаете клавишу, терминал отображает клавишу, используя символ ascii. Если вы используете такую программу, как screen, и включаете ведение журнала, вы действительно можете увидеть, что ключ возврата будет отображаться с помощью \ r \ n. Вот как вы решите эту проблему.
$telnetObject->prompt('/{\d+}/');
$telnetObject->cmd_remove_mode(1); # omit command echo from output
$telnetObject->print('cd test/displayBlock\r');
Спасибо
Надеюсь, что это поможет