Хотя такие средства упрощают работу с приложениями Telnet, они одновременно усложняют разработку этих приложений. Протокол Telnet выполняет более сложные действия, нежели просто отправка команд и прием ответов, поэтому недостаточно лишь подключить сокет к порту 23 (применяемому по умолчанию службой Telnet) на удаленном компьютере и приступить к обмену сообщениями. Клиент и сервер Telnet могут вступить во взаимодействие только после того, как они согласуют процедуру установления соединения, предназначенную для согласования параметров сеанса связи. Невозможно также в сценарии Perl просто открыть сокет и клиентскую программу Telnet, поскольку Telnet, как и многие другие интерактивные программы, рассчитывает на то, что вывод будет открыт в терминальное устройство, и пытается изменить характеристики этого устройства с использованием различных вызовов функции ioctl().
С учетом этого лучше всего отказаться от создания клиентов для интерактивных приложений. Иногда, тем не менее, это неизбежно. Вам может потребоваться автоматизировать существующее приложение, которое может работать только в интерактивном терминальном режиме. Кроме того, иногда возникает необходимость дистанционного управления системной утилитой, которая доступна только в интерактивной форме. Классическим примером последней является программа passwd UNIX, предназначенная для смены пароля учетной записи пользователя. Как и Telnet, программа passwd предоставляет непосредственное взаимодействие с терминальным устройством, и для работы с ней из сценария Perl должна быть выполнена специальная подготовка.