Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Use of Typeglob

by dsb (Chaplain)
on Aug 10, 2005 at 02:29 UTC ( #482494=note: print w/replies, xml ) Need Help??

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.

This @ISA my cool %SIG

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://482494]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2016-10-22 09:02 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (294 votes). Check out past polls.