in reply to Re^3: Using an IO::File object stored in a Hash.
in thread Using an IO::File object stored in a Hash.

Thank you very much! This is the explanation I needed.

I found this in perlop in the I/O Operators section:

"If what's within the angle brackets is neither a filehandle nor a simple scalar variable containing a filehandle name, typeglob, or typeglob reference, it is interpreted as a filename pattern to be globbed, and either a list of filenames or the next filename in the list is returned, depending on context. This distinction is determined on syntactic grounds alone. That means <$x> is always a readline() from an indirect handle, but <$hash{key}> is always a glob(). That's because $x is a simple scalar variable, but $hash{key} is not--it's a hash element. Even <$x > (note the extra space) is treated as glob("$x ") , not readline($x)."

  • Comment on Re^4: Using an IO::File object stored in a Hash.