Thread Suchfunktion steuern (7 answers)
Opened by Ap0ll099 at 2012-04-03 15:23

Ap0ll099
 2012-04-03 15:23
#157203 #157203
User since
2012-04-03
4 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich bin Anfänger bzgl. Forum und Perl und will mein erstes Script schreiben. Hab mir dafür eine Aufgabe rausgesucht und komme nicht gerade sehr weit. Deshalb will ich es hier versuchen, ob Ihr mir Tipps geben könnt. (ich bevorzuge learning by doing)
Folgenden Quelltext habe ich bereits:
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
#!/usr/bin/perl
$SUCHE="TARS";
$BEGRENZER_probe = "probe";
$i=0;
$TEXT='probe http probe_L7_IDST-TARS-8085
  port 8085
  interval 5
  passdetect interval 5
  passdetect count 2
  request method get url /login.jsp
  expect status 200 200
  
probe http probe_L7_IDST-TARS-18080
  port 18080
  interval 5
  passdetect interval 5
  passdetect count 2
  request method get url /login.jsp
  expect status 200 200

  probe icmp probe_L3_PING
  interval 4
  passdetect interval 8
  passdetect count 2
  receive 2';

# Text in Zeilen aufteilen -------------------------------------------------------
$TRENNER="\n";
@KONFIG=split(/$TRENNER/,$TEXT);
foreach $STRING(@KONFIG) 
                {
    chomp($STRING);
                }
#==============================================================
                
#Suche------------------------------------------------------------------        
if ($TEXT =~ /probe.*$SUCHE/)
{ 
print $&."\n";
}
elsif ($TEXT =~ /.*probe.*/)
{
print $'."\n";
}


Meine Schwierigkeit besteht darin, dass ich nicht weiß, wie ich es schaff, dass ich bei der Ausgabe das hier hinbekomm:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
probe http probe_L7_IDST-TARS-8085
port 8085
interval 5
passdetect interval 5
passdetect count 2
request method get url /login.jsp
expect status 200 200

probe http probe_L7_IDST-TARS-18080
port 18080
interval 5
passdetect interval 5
passdetect count 2
request method get url /login.jsp
expect status 200 200

Entweder ich habe nur die erste Zeile, oder den kompletten Text, also alles was in der Variable drinsteht. Mir fehlt die Möglichkeit bei der ich angeben kann, dass alles gefunden werden soll was zu "TARS" gehört bis wieder die nächste "probe" beginnt. Sollte diese jedoch auch "TARS" enthalten, dann soll sie auch mit ausgegeben werden.
Kann man iwie dem Script mitteilen, dass es zwar nach "probe" suchen soll, aber wenn es eine weitere "probe" findet aufhören soll und dann in dieser "probe" wieder nach dem gesuchten Begriff sucht?
Danke für Eure Hilfe!
vg
Last edited: 2012-04-03 15:25:01 +0200 (CEST)

View full thread Suchfunktion steuern