Thread Perl Code nicht verständlich
(5 answers)
Opened by marzocchi1 at 2013-12-12 13:19
Ich konzentrier mich mal auf ein paar Perl-spezifische Punkte. Ich gehe davon aus, dass Du allgemein programmieren kannst und daher Dinge wie elsif verstehst.
Zeile 2: =~ /.../i ist ein Match. Es wird geschaut, ob der String in Variable $FollowUpPossible einen (Sub)String "reject" enthält. Das i bewirkt das der Match Case-insensitiv ist. Die Bedingung würde also auch von "foo Reject etc." oder "barEjECTing" erfüllt. Der zweite Match wird gegen den Eintrag mit dem Key TypeName aus dem Hash %State durchgeführt. Zeile 3: Das ist klassisches OO-Perl. Du bist gerade in einer Methode eines Objekts. Die Instanz Deines Objects ist $Self. Es enthält als Feld ein anderes Objekt namens LogObject. Dieses hat wiederum eine Methode Log(). Diese Methode erwartet ihre Parameter/argumente als Hash im Format Run(Name1 => Wert, Name2 => Wert,...). Du rufst also im Log-Handler Deines Objekts die Methode Log mit den Parametern Priority (= "info") und Message (= "Follow up ...") auf. Zeile 9 analog zu Zeile 3. Die Methode Run() gibt einen Wert zurück, der in der lokalen Variablen $Run gespeichert wird. Zeile 18: Hier wird überprüft, ob der Wert der Variablen $Run false ist. Das ist z.B. der Fall, wenn $Run undef, 0 oder einen Leerstring enthält. Zeile 21: hier wird dem Array @Return eine Liste mit zwei Werten zugewiesen. Anschließend gilt $Return[0] == 4 and $Return[1] eq $TicketID. |