Anmerkungen zu lexikalischen (my)-Variablen

Lexikalische Variablen können in jedem beliebigen Block benutzt werden, nicht nur innerhalb einer Subroutine, zum Beispiel in Blöcken einer Fallunterscheidung mit if oder in einer Schleife mit while oder foreach:

foreach (1..10) {
  my($quadrat) = $_ * $_;  # für diese Schleife private Variable $quadrat
  print "$_ zum Quadrat ist $quadrat.\n";
}

Die Variable $quadrat ist innerhalb des umschließenden Blocks als private (lexikalische) Variable angelegt. In diesem Fall ist das der Block der foreach-Schleife. Gibt es keinen umschließenden Block, so ist die Variable innerhalb der gesamten Quellcodedatei als private Variable angelegt. Momentan benutzen Ihre Programme zwar nur eine Datei für den Quellcode,[111]

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.