Thread Connection Timeout abfangen: Perl Programmierung (10 answers)
Opened by sri at 2004-07-28 15:37

Gast Gast
 2004-07-28 15:31
#38054 #38054
Hallo liebe Perlgemeinde!

Ich arbeite zZ an meinem Abschlussprojekt (Fachinformatikerausbildung) und habe ein Problem, dass ich trotz Perl in a Nutshell, google, cpan.... nicht lösen kann.
Ich verwende für einen Telnetconnect Net::Telnet::Cisco
http://nettelnetcisco.sourceforge.net/docs.html

mein Problem:
das Script arbeitet viele Geräte in einer schleife ab, wobei der Connect so aussieht:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
------------------------------------------------------- 
1: use Net::Telnet::Cisco;
2:
3: foreach $geraet
4:{
5:my $session = Net::Telnet::Cisco->new(Host => '$Geraet');
6:$session->login('login', 'password');
7:
8:my @output = $session->cmd('show version');
9:print @output;
10:$session->close;
11:}
-------------------------------------------------------


(Syntax beschreibt prinzipiell das skript, also syntaxfehler sind zu vernachlässigen)

so ist das Prinzip.
Das Problem:

Wenn ein Gerät nicht erreichbar ist (ping nicht möglich) bricht die ganze foreachschleife ab, mit der meldung:
problem connecting to "blablub", port 23: connect timed-out at script.pl line 5

Wenn ich einen falschen Benutzername & Password eingebe, kommt:
login failed:access denied or bad username at script.pl line 6

Das ist soweit ja alles ganz in ordnung, aber ich würde gerne statt dem abbruch der kompletten foreach-schleife als $output dann ausgeben:
"gerät nicht erreichbar" bzw "login falsch".

ich habe schon versucht ein "or echo "ERROR" " hinter Zeile 5 und 6 zu schreiben, aber das hat die selben Fehlermeldungen erzeugt.

ich hoffe ihr könnt mir in der sache helfen

vielen dank im vorraus!
LiGo\n\n

<!--EDIT|renee|1091091023-->

View full thread Connection Timeout abfangen: Perl Programmierung