in reply to Using Net::Telnet

It is possible that the trailing newline is the culprit. Note that when you use
$NT->cmd("1\n");

you will be sending two newlines - the one you specified in the argument to cmd and one that Net::Telnet will add to the end of each command line.

You can try using the put method or setting the output_record_separator to the empty string.

Replies are listed 'Best First'.
Re^2: Using Net::Telnet
by Tanktalus (Canon) on Mar 06, 2008 at 17:51 UTC

    Since TStanley wasn't using double-quotes, but single-quotes, what was actually being sent by cmd was "1\\n\n", or, literally, 1\n followed by a line-terminator. The other end would compare that against "1", "2", and "3", find it didn't match any, and try again.

    Changing it to double quote as you said would send two newlines, which I doubt the other end would play nice with. I think the solution is to just use $NT->cmd(1), but I've not tested that.