in reply to Re^2: Aborting a module (return 1)
in thread Aborting a module

Rereading the root node, the BEGIN was an example of a complicated way of using the module rather than code within the module. So the following should work fine:

package My::Module; if( ... ) { # This module is useless in this case: return 1; } ... 1;

Another possiblity is:

package My::Module; if( ... ) { require My::Module::Internal; } 1;

- tye        

Replies are listed 'Best First'.
Re^4: Aborting a module (return 1)
by suaveant (Parson) on Oct 24, 2007 at 14:40 UTC
    Yeah, the module in the middle method is the only clean way I can see. The if statement works but I also have to "use if" all the modules.

    Basically we have a module that we include everywhere to set up our environment, but we recently ran into a problem where we called someone else's Perl script from the module if a value wasn't set, which loaded our module, which called itself, which loaded our module.... etc etc etc *disaster*.

    So now we are trying to make it so that only our code calls it, even though it is set in PERL5OPT

                    - Ant
                    - Some of my best work - (1 2 3)