Thread Perl Code nicht verständlich (5 answers)
Opened by marzocchi1 at 2013-12-12 13:19

clms
 2013-12-12 14:24
#172576 #172576
User since
2010-08-29
373 Artikel
BenutzerIn
[default_avatar]
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.

View full thread Perl Code nicht verständlich