http://www.perlmonks.org?node_id=850283


in reply to Re^3: Net::Telnet blocks
in thread Net::Telnet blocks

Well, this is exactly the error message you would get when Net::Telnet times out while waiting for a prompt:

## Check for failure. return $self->error("pattern match timed-out") if $s->{timedout};

So, something changed with your remote end. You need to debug this, see the methods mentioned previously to you.