Nicht-skalare Rückgabewerte

Als Rückgabewerte von Subroutinen können übrigens nicht nur Skalare verwendet werden. Wenn Sie eine Subroutine im Listenkontext[122] aufrufen, kann diese auch eine Werteliste zurückgeben.

Stellen Sie sich vor, Sie wollten einen Zahlenbereich ausgeben (wie der Bereichsoperator ..), nur soll herauf- und heruntergezählt werden. Der Bereichsoperator kann nur aufwärts zählen, aber das lässt sich leicht beheben:

sub liste_von_fred_bis_barney {
  if ($fred < $barney) {
    # von $fred bis $barney aufwärts zählen
    $fred..$barney;
  } else {
    # von $fred bis $barney abwärts zählen
    reverse $barney..$fred;
  }
}
$fred = 11;
$barney = 6;
@c = &liste_von_fred_bis_barney;  # @c enthält (11, 10, 9, 8, 7, 6)

In diesem Fall gibt uns der Bereichsoperator ...

Get Einführung in Perl, Sixth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.