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.