Можно также обойти процедуры преобразования символов модуля Net::Telnet и выполнять вывод непосредственно на удаленный хост с использованием объекта Net::Telnet в качестве дескриптора файла. Метод waitfor() - это “рабочая лошадка” модуля Net::Telnet. Этот метод в течение времени, указанного параметром Timeout, ожидает появления заданной строки или образца в потоке данных, поступающих с удаленного хоста. В скалярном контексте метод waitfor() возвращает истинное значение если был обнаружен желаемый образец. В контексте списка он возвращает список с двумя элементами, состоящий из данных, принятых до сопоставления с образцом, и саму сопоставленную строку.
Методу waitfor() можно передать регулярное выражение для сопоставления с образцом или простую строку; в последнем случае модуль Net::Telnet использует функцию index() для поиска строки поступающих данных. В форме вызова метода с ключевыми параметрами для сопоставления с образцом применяется параметр Math, а для сопоставления с простой строкой — параметр String. Для сопоставления с несколькими разными образцами или строками можно просто указать несколько параметров Match и/или String.
Строка применяемая для указания образца в параметре Match, должна состоять из
операторов Perl сопоставления с образцом и должна быть оформлена с учетом правил имя ограничителей. Например, допустимо применение строк в формате "/bash> $/" и "m (bash> $)", но не в формате "bash> $", поскольку в последнем случае отсутствуют ограничители строки, применяемой для сопоставления с образцом.
В форме метода waitfor() с одним параметром этот параметр представляет собой образец, применяемый для сопоставления. Параметр Timeout может использоваться для изменения значения тайм-аута, применяемого по умолчанию.