in reply to Re: Trying to capture error message using telnet::net
in thread Trying to capture error message using telnet::net

Let me explain.
My script go on a text file that contain IP addresses. I have a subroutine that duty is to connect to a remote machine.


I use a while loop that each time call the subroutine to connect to a remote machine.

this function suppose to go on all the file with the IP addresses. but when an error occurs during the connection ( No ping, console port is occupied, etc) the script stops.


I want the script to generate an error lets say "The server is unreacable" each time it encounter an error, and continue to the outher IP's.

sub connect { my ($console_server,$console_port) = @_; my $telnet = new Net::Telnet ( Timeout=>10,Port => $console_po +rt ,Errmode=>'return'); $telnet->open("$console_server"); if ($telnet->errmsg){ print "errmsg: " . $telnet->errmsg . "\n"; } else { print"success\n"; } print ("loginig in...\n"); $telnet->print('user'); $telnet->waitfor('/password: $/i'); $telnet->print('password'); $telnet->waitfor('/# ?$/i'); print ("exiting...\n"); $telnet->print('exit'); } } while (<DATA>) { my $line = $_; print "trying to connect to console server $console_server_tem +p port $console_port_temp \n"; &connect($console_server_temp,$console_port_temp); }

I tried the first option and the script stoped the moment an error occured.

The secoond option didn't worked, when i tried to run the script i got a lot of error messages about not recognizing the $telnet.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 37.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 39.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 43.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 56.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 57.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 58.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 59.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 63.

Global symbol "$telnet" requires explicit package name at ./connect_telnet.pl line 7

Any suggestions?? Thanks!!

Replies are listed 'Best First'.
Re^3: Trying to capture error message using telnet::net
by Anonymous Monk on Mar 04, 2009 at 09:31 UTC
    Hi,
    Just ignore "my", "use strict" in your code.
    Regards,
    Anbarasu