Perhaps I don't understand modules as well as I should.  Here's my
problem.

I have a module (Peeron::Lib), which uses GDBM_File.  So somewhere, I
have a line saying:

  tie %hash, "GDBM_File", $DB, GDBM_Reader, 0644 or die "$!";

but when I try this, I get an error saying:

Bareword "GDBM_READER" not allowed while "strict subs" in use at
Peeron/Lib.pm line 286.
Compilation failed in require.
BEGIN failed--compilation aborted.

ok, so I figure that since I'm in the namespace of Peeron::Lib, I should
explicitly specify the namespace of GDBM_File:

  tie %hash, "GDBM_File", $DB, GDBM_File::GDBM_Reader, 0644 or die "$!";

and that seems to work, without a warning.  My question is, why do I
have to specify the package, considering I "use"ed the GDBM_File module,
and it should have exported it's symbols to my namespace?

-- 
Dan Boger
[EMAIL PROTECTED]

Reply via email to