Prozeduren

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

sub add {
   my($a, $b) = @_; 
   return $a + $b;
}  

*add erhält zwei Parameter, addiert sie und liefert die Summe wieder zurück.
 
*Ein Aufruf von add könnte etwa folgendermaßen aussehen: $c = add(17, $x);
 
*Grundsätzlich gibt es keine formale Parameterliste -- stattdessen werden alle Parameter als eine einzige Liste betrachtet, die über @_ innerhalb der Prozedur zugänglich ist.
 
*Die Parameterübergabe erfolgt via call by reference. Wenn einer der übergebenen Parameter kein lvalue ist, wird implizit eine Kopie angelegt.
 
*Mit Hilfe von my können lokale Variablen deklariert werden.
 
*Durch die Zuweisung von @_ an die beiden lokalen Variablen erhalten wir die normalerweise bevorzugte Semantik von call by value.
 
*So wäre es auch kürzer gegangen, da ohne return der Wert des zuletzt bewerteten Ausdrucks verwendet wird: sub add { $_[0] + $_[1] }
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000