der stern vor einem variablennamen ist ein typeglob (
perldata).
indem man local davorschreibt, lokalisiert man den gesamten eintrag in der symboltabelle, und so auch den filehandle.
besser ist eigentlich heutzutage, lexikalische filehandles zu benutzen:
WasIsteinLexikalischerFileHandle
die gab es früher in perl noch nicht, weshalb barewords als filehandle immer noch oft genutzt werden.
man braucht sowas, um z.b. rekursiv dateien auszulesen. könnte man filehandles nicht lokalisieren, würde man immer dieselbe globale variable überschreiben.