Bitte schauen Sie sich zuerst den folgenden Code an.
%Vor%Ich möchte ein Datei-Handle innerhalb einer Klasse mit Hash speichern. Das Datei-Handle ist zunächst nicht definiert, kann aber später durch Aufrufen der Funktion Setfd initialisiert werden. dann write kann aufgerufen werden, um die Zeichenfolge "hallo word" in eine Datei zu schreiben, die durch das Datei-Handle angegeben wird, vorausgesetzt, dass das Dateihandle das Ergebnis eines erfolgreichen "write" -Öffners ist.
aber Perl-Compiler beschwert sich gerade, dass es Syntaxfehler in der Zeile "Drucken" gibt. Kann mir irgendjemand von mir sagen, was hier nicht stimmt? Danke im Voraus.
Sie müssen den Ausdruck $self->{_fd}
in einen Block schreiben oder einem einfacheren Ausdruck zuweisen:
Von perldoc -f print
:
%Vor%Beachten Sie, dass Sie, wenn Sie FILEHANDLEs in einem Array speichern oder einen anderen Ausdruck verwenden, der komplexer ist als eine skalare Variable, um ihn abzurufen, einen Block verwenden müssen, der stattdessen den Dateihandle-Wert zurückgibt:
Tags und Links perl filehandle