Typeglobs und Dateihandles

Perl verwendet einen speziellen Datentyp, den sogenannten Typeglob, der einen vollständigen Symboltabelleneintrag enthält. (Der Symboltabelleneintrag *foo enthält die Werte von $foo, @foo, %foo, &foo und verschiedene Interpretationen des guten alten foo.) Das Präfixzeichen für einen Typeglob ist ein Sternchen(*), weil es alle Typen repräsentiert.

Ein Einsatzgebiet für Typeglobs (oder Referenzen darauf) bildet die Übergabe und Speicherung von Dateihandles. Wenn Sie ein Dateihandle wegspeichern wollen, sollten Sie das wie folgt tun:

$fh = *STDOUT;

Oder Sie sollten vielleicht mit einer echten Referenz arbeiten:

$fh = \*STDOUT;

Das ist auch die Möglichkeit, ein lokales Dateihandle zu erzeugen:

sub newopen { my $path = shift; local ...

Get Programmieren mit Perl 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.