sub GetConfig
{
my $telnet=new Net::Telnet();
$telnet->output_log;
$telnet->timeout($login_timeout);
$telnet->errmode('return');
$telnet->prompt('/[\$#>]/');
$telnet->open( $deviceIP );
if( $telnet->errmsg )
{
$msg = "Error connecting to device: ".$telnet->errmsg;
$telnet->close;
return( 252, $msg );
}
#first try login without username and just password
$telnet->waitfor( Match => '/Password:/');
if( $telnet->errmsg )
{
$telnet->login($user, $pass);
if( $telnet->errmsg )
{
$msg = $telnet->errmsg;
$telnet->close;
return( 251, $msg );
}
}
else
{
$telnet->cmd( $pass );
if( $telnet->errmsg )
{
# can't use errmsg as it will give command timed-out
# and we should really indicate bad password
$msg = "login failed: bad password";
$telnet->close;
return( 251, $msg );
}
}
I'm getting a Return Code 251 every time with the message "Login Failed. File Handle isn't open on Login" |