Listen als Parameter

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

sub add {
   my(@values) = @_; 
   my($sum) = 0;
   foreach $value (@values) {
      $sum += $value;
   }
   return $sum;
}  

*Diese Version von add liefert die Summe aller übergebenen Parameter.
 
*Ohne formale Parameterliste gibt es auch keine Beschränkung der Anzahl der Parameter. Entsprechend einfach ist es, beliebig viele Parameter zu akzeptieren.
 
*Wenn beim Aufruf mehrere Listen angegeben worden sind, verschmelzen sie alle zu einer einzigen flachen Liste.
 
*Es ist also nicht sinnvoll, mehrere getrennte Listen zu erwarten:

sub multilist { my(@list1, @list2) = @_; ... }

Hier würde @list1 alle Parameter ``aufsaugen'' und @list2 würde in jedem Fall zur leeren Liste.
 

*Wenn sowohl skalare Parameter als auch eine Liste übergeben werden sollen, dann müssen die skalaren Parameter zuerst kommen, damit es noch möglich ist, die Parameter auseinanderzuhalten:

sub multipar { my($p1, $p2, @list) = @_; ... }
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003