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


in reply to Re^3: Problem with Net::Telnet
in thread Problem with Net::Telnet

Yes, it's right at line 24 where it times out.
$telnet->waitfor('/$device# /i'); ##wait for prompt
From the output I can see it authenticate, but once I get to the prompt it times out. My output file looks something like this:
username: xxxx
password: zzzz
yyyy#

Now if I remove $device and just enter a specific name followed by the prompt(#), it prints out exactly what I want. It's just when I try to use a variable I run into this problem.
$telnet->waitfor('/yyyy# /i'); ##wait for prompt

This works. Maybe it has something to do with the prompt? I removed "." from the line and it still times out.

Replies are listed 'Best First'.
Re^5: Problem with Net::Telnet
by frozenwithjoy (Priest) on Nov 26, 2012 at 05:37 UTC

    What if you use this:

    $telnet->waitfor("/$device# /i");   ##wait for prompt

    instead of this?:

    $telnet->waitfor('/$device# /i');   ##wait for prompt
Re^5: Problem with Net::Telnet
by aitap (Curate) on Nov 26, 2012 at 17:21 UTC
    It looks like you forgot to chomp the line entered by user.
    It's also useful to protect arbitrary data in regexes by putting them between \Q and \E.
    Sorry if my advice was wrong.