Thread String einlesen und nachfolgendes Wort ausgeben
(20 answers)
Opened by SCORRPiO at 2014-04-15 10:15
Die ausgabe war eine gekürzte
der Komplette Code sieht so aus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 use strict; use warnings; # Messages # ******** my $message_ok = "OK"; my $message_warning = "WARNING"; my $message_critical = "CRITICAL"; my $message_unknown = "UNKNOWN"; # Exit Status # *********** my $exit_ok = "0"; my $exit_warning = "1"; my $exit_critical = "2"; my $exit_unknown = "3"; # other Variable # *********** my $status = 3; # Wenn kein Status dann 3 (UNKNOWN) #~ my @werte=`/usr/sbin/mpt-status`; my @werte = `cat test4`; #test ausgabe my $zeile=""; #aktuelle Zeile fürs einlesen my $ausgabe; #Zeile für die Ausgabe # Programmierung # ******** foreach $zeile (@werte){ if($zeile =~ m/OPTIMAL/g){ exit "0"; } if($zeile =~ m/ONLINE/g){ exit "0"; } if($zeile =~ m/RESYNC_IN_PROGRESS/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s(\w.+)/; my $state = $ausgabe =~ /state\s\s(\w.+)/; my $flags = $ausgabe =~ /flags\s\s(\w.+)/; printf "phy: $phy, state: $state, flags: $flags ....RESYNC\n"; exit "1"; } else{ if($zeile =~ m/MISSING/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s(\w.+)/; my $state = $ausgabe =~ /state\s\s(\w.+)/; my $flags = $ausgabe =~ /flags\s\s(\w.+)/; printf "phy: $phy, state: $state, flags: $flags ....MISS\n"; exit "2"; } else{ if($zeile =~ m/OUT_OF_SYNC/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s \s([\w.]+)/; my $state = $ausgabe =~ /state\s \s([\w.]+)/; my $flags = $ausgabe =~ /flags\s \s([\w.]+)/; printf "phy: $phy, state: $state, flags: $flags ...OUT\n"; exit "2"; } else{ if($zeile =~ m/OFFLINE/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s \s([\w.]+)/; my $state = $ausgabe =~ /state\s \s([\w.]+)/; my $flags = $ausgabe =~ /flags\s \s([\w.]+)/; printf "phy: $phy, state: $state, flags: $flags ....Offline\n"; exit "2"; } }}} } ein use strict; war enthalten use warnings; war deaktiviert, hab es aktiviert und die Fehler (my $ausgabe in $ausgabe geändert) behoben. Jedoch bekomme ich als ausgabe immer noch keine Ausgabe nur: phy: , state: , flags: ....RESYNC Last edited: 2014-04-15 10:54:54 +0200 (CEST) Linux User || Perl 5.14
|