In article <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> wrote:

> > It imports to the current package, it is not affected by anything anyone
> > has done in another package.

> Unless, of course, someone does *main::DEBUG = sub { ... } from their
> module. Of course, this is "asking for it", but so is your example.

> > Your docs imply that it I use
> > someones module who had done use define DEBUG => o and then
> > I try todo use define DEBUG => 1 in my code it will barf.

> My docs also imply that this is incorrect usage. It wouldn't make sense to
> place "use define DEBUG => 0" inside of a module. Modules shouldn't "use
> define",

why not?  and if modules shouldn't use it, why does it need to be a pragma?

still, how do you expect people to enforce correct usage if you can only 
use it once?  i certainly wouldn't allow such a pragma in a team development
environment.  it sounds very fragile.

> rather they should "no define", and let the user decide if s/he
> wants other values compiled in.

sounds too complicated.  i like the way Socket.pm, Fcntl.pm, and others
do it.  it's much more simple.

Reply via email to