If you know about BEGIN{} blocks you should also know that there is not two separate compile and runtime phases. These two are interleaved. Even if neither you nor the module authors use any BEGIN blocks!
I'm afraid you'll have to rethink this. Consider this:
#!/usr/bin/perl
BEGIN {
push @INC, '/some/directory';
require Your::Module;
}
...
This way your module is being included as soon as at all possible, yet it's require()d, not use()d.
If you tell us what and why do you want to do differently we can come up with something. Just now my only idea is to set a variable when the script "starts". $My::Module::Runtime=1 is probably the best you can get.
Jenda |