> > 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", rather they should "no define", and let the user decide if s/he wants other values compiled in.