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.