in reply to Re: telnet from telnet
in thread telnet from telnet

my $currentNode1 = '123.45.6.890';
my $userName1 = sprintf("name1\n");
my $password1 = sprintf("password1\n");
use Net::Telnet;
$b = Net::Telnet->new( Errmode => 'return',
Telnetmode => 1,
Output_record_separator => '',
Prompt => '/#/',
Timeout => 70,
Host => $currentNode );
@results = $b->login($userName1, $password1) or die "Connect failed: @{ $b->errmsg() }\n";
my $comString = sprintf("cd \/etc\/theDir\n");
@output = $b->cmd($comString);
my $currentNode2 = '123.45.6.892';
my $userName2 = sprintf("name2\n");
my $password2 = sprintf("password2\n");
use Net::Telnet;
$c = Net::Telnet->new( Errmode => 'return',
Telnetmode => 1,
Output_record_separator => '',
Prompt => '/#/',
Timeout => 70,
Host => $currentNode2 );
@results = $c->login($userName2, $password2) or die "Connect failed: @{ $c->errmsg() }\n";
error message: Can't call method "login" on an undefined value at tMonitor.pl line 63.
$currentNode2 is legitimate, but you can only access it from $currentNode1
running from NT boxes to linux redhat version 7
I appreciate all help.
Thanks.

Replies are listed 'Best First'.
Re^3: telnet from telnet
by gam3 (Curate) on Apr 11, 2005 at 20:53 UTC
    The $c = Net::Telnet->new( is failing.
    -- gam3
    A picture is worth a thousand words, but takes 200K.
      Yes, it is failing. I suspect that the script
      is trying to open the connection from the pc,
      when it has to open it from the node.

      Is there anyway to fix it ?
Re^3: telnet from telnet
by NateTut (Deacon) on Apr 11, 2005 at 21:03 UTC
    That looks better

    I'm not a big Net::Telnet user, but it looks to me like $c is undefined. That means that Net::Telnet->new call failed. Also:

     Prompt => '/#/',

    looks suspicious to me. You might mean instead:

     Prompt => '#',

    Also I think you could change:
    my $userName2 = sprintf("name2\n"); my $password2 = sprintf("password2\n");
    To:
    my $userName2 = "name2\n"; my $password2 = "password2\n;
    Definately look into why $c is undefined...