http://www.perlmonks.org?node_id=470099


in reply to What are typeglobs (useful for)?

Short answer: a typeglob is a symbol table entry; if you have (non-lexical) $foo, %foo, @foo, &foo, and format foo, they are all contained in the same typeglob *foo (along with a file/dir handle). Because filehandles have no specific sigil, you can only mention them in perl by way of the glob.

So there are two cases where you'd use a typeglob: as a filehandle, or to muck about with the symbol table.

The most common case of the former is to use one of the perl provided filehandles *STDIN, *STDOUT, *STDERR, *DATA. (The * is unneeded if passing to a function or builtin having a * in the prototype.) For non-perl provided filehandles, using the newer lexical filehandles (actually just a reference to a typeglob, stored in a regular scalar variable) obviates the need for a typeglob.