Hi Leute,
ich braeuchte mal jemanden der vielleicht eine oder andere passage aus einem Programm erklaeren wuerde.
Ich bin gerade dabei ein Perl Programm in PB zu schreiben.
Also wer koennte mir ein wenig helfen..
Gruß,
Torakas
Wer kann gut Perl...
Re: Wer kann gut Perl...
Am besten einfach die betroffenen Code-Fragmente posten, dann
kann Dir im Zweifelsfalls besser/einfacher geholfen werden.
kann Dir im Zweifelsfalls besser/einfacher geholfen werden.
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
Nun, hier mal der Code... Ich komme einfach damit nicht klar was dort gemacht wird. Besonders das mit der Whilebedingung oder so... Was wird in der langen IF ifelse bereich überprueft...FloHimself hat geschrieben:Poste doch einfach etwas Source und stell Deine Frage dazu!?
Ich weiss. Fragen über Fragen... Ich kann es nur erraten was er macht, aber ich wuesste es gerne genauer...
Code: Alles auswählen
my $vars;
$vars = new SNMP::VarList( [".1.3.6.1.2.1.43.18.1.1"] );
my $alert_var = $1;
my $alert_ind = $2;
my $tint = $sess->getnext($vars);
print $sess->{ErrorStr} if ($sess->{ErrorStr});
while (!$sess->{ErrorStr} and $$vars[0]->tag =~ /43.18.1.1.(\d+).1.(\d+)/){
my $pos = $$vars[0]->iid;
# print $$vars[0]->tag . " $1 $2 -> $tint<br>\n";
$alert_var = $1;
$alert_ind = $2;
if ($alert_var eq 2) {
$printer_alert{$alert_ind}{'severity_level'} = $tint;
} elsif ($alert_var eq 3) {
$printer_alert{$alert_ind}{'training_level'} = $tint;
} elsif ($alert_var eq 4) {
$printer_alert{$alert_ind}{'group'} = $tint;
} elsif ($alert_var eq 5) {
$printer_alert{$alert_ind}{'group_index'} = $tint;
} elsif ($alert_var eq 6) {
$printer_alert{$alert_ind}{'location'} = $tint;
} elsif ($alert_var eq 7) {
$printer_alert{$alert_ind}{'code'} = $tint;
} elsif ($alert_var eq 8) {
$printer_alert{$alert_ind}{'description'} = $tint;
} elsif ($alert_var eq 9) {
$printer_alert{$alert_ind}{'time'} = $tint;
}
$tint = $sess->getnext($vars);
};
Wenn ja, dann einfach posten..
Gruß,
Torakas
Hi,
ich kann zwar gut Perl, aber mit SNMP kann ich leider nichts anfangen.
http://search.cpan.org/src/GSM/SNMP-1.8.2/SNMP.pm
Aber in etwa zu ifelse,
wenn $alert_var gleich "die Zahlen 2-9" dann werden
der assozativen Variable $printer_alert{}{} die Werte
von $tint zugewiesen. Aber warum weiß ich leider nicht.
Und zu while,
Solange nicht $sess->{ErrorStr} und $$vars[0]->tag =~
das folgende ist nur ein Suchvergleich /43.18.1.1.(\d+).1.(\d+)/
Ein String fängt mit "43.18.1.1." an dann ein paar Zahlen dazwischen und
geht mit ".1." weiter dann am Ende noch ein paar Zahlen.
Gruß
grapy
ich kann zwar gut Perl, aber mit SNMP kann ich leider nichts anfangen.
http://search.cpan.org/src/GSM/SNMP-1.8.2/SNMP.pm
Aber in etwa zu ifelse,
wenn $alert_var gleich "die Zahlen 2-9" dann werden
der assozativen Variable $printer_alert{}{} die Werte
von $tint zugewiesen. Aber warum weiß ich leider nicht.

Und zu while,
Solange nicht $sess->{ErrorStr} und $$vars[0]->tag =~
das folgende ist nur ein Suchvergleich /43.18.1.1.(\d+).1.(\d+)/
Ein String fängt mit "43.18.1.1." an dann ein paar Zahlen dazwischen und
geht mit ".1." weiter dann am Ende noch ein paar Zahlen.
Gruß
