http://qs1969.pair.com?node_id=482494


in reply to Use of Typeglob

Seems like several of the previous posters used a typeglob to have a passable version of a filehandle. By passable, I mean that the filehandle can be passed into a function or placed in some other list form like an array.

In Seven Useful Uses of local, Tachyon demonstrates a pretty neat way of accomplishing just that.

my $filehandle = do { local *FH };
Tachyon's explanation:
do just introduces a block which will be evaluated, and will return the value of the last expression that it contains, which in this case is local *FH. The value of local *FH is a glob. But what glob?

local takes the existing FH glob and temporarily replaces it with a new glob. But then it immediately goes out of scope and puts the old glob back, leaving the new glob without a name. But then it returns the new, nameless glob, which is then stored into $filehandle. This is just what we wanted: A glob that has been disconnected from the symbol table.


dsb
This @ISA my cool %SIG