#!/usr/bin/perl -w use strict; use warnings; use diagnostics; use Net::Telnet; use ParseConfigFile; use ParseConfigFile qw(check_param); ## Funktionen wrlog{ my $msg = shift; my $logfile = shift; open LOG, ">>$logfile" or die "Konnte Logdatei nicht oeffnen"; print LOG scalar(localtime(time)) . " : " . $msg . "\n"; close LOG or die "Konnte Logdatei nicht schliessen"; } ## Hauptprogram unless ( defined $ARGV[0] && -f $ARGV[0] && -r $ARGV[0] ){ print "Usage: $0 \n"; print "Geben Sie bitte einen gueltigen Pfad zu einer lesbaren\n"; print "Konfigurationsdatei ein.\n"; exit 255; } my %options = read_file($ARGV[0]); my @keys=qw(user pass hostsfile logfile); ## Testen ob alle benoetigten Werte im Konfigfile gesetzt sind unless ( check_param(\@keys, \%options) ){ print "In der Konfigurationsdatei wurde mindestens ein Fehler gefunden.\n"; print "Bitte in folgender Form eintragen: 'schluessel=wert'.\n"; print "Um das '=' Zeichen bitte keine Freizeichen einbauen.\n"; exit 254; } else { ## Ab hier lauft das Hauptprogramm my $log = $options{'logfile'}; my $hosts = $options{'hostsfile'}; my $user = $options{'user'}; my $pass = $options{'pass'}; unless ( -f $hosts && -r $hosts ){ wrlog("FEHLER - Das hostsfile kann nicht geoeffnet/gelesen werden. Abbruch", $log); } }