in reply to Self Testing Modules
The perl version of that is
unless (caller) { ... }
If you put a block like that in the main part (ie, not in a sub, preferably right before the true value that all modules end with) of a .pm file you can do
perl Module.pm
And it will execute, but if its loaded via use Module; it won't.
I think thats what you are after anyway.
You _could_ use if ($0 eq __FILE__) { ... } I suppose, but the problem there is that __FILE__ probably will be fully qualified, but $0 might not be.
Having said all of that, module test code in perl doesnt normally go in such a block. Its more for quick debug/test code that you use during development. If you want to test your code properly you should use the test framework that comes with perl.
Update: switched the 'if' to an 'unless' as per happy-the-monks correction.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Self Testing Modules
by Happy-the-monk (Canon) on Dec 18, 2005 at 01:00 UTC | |
by demerphq (Chancellor) on Dec 18, 2005 at 09:59 UTC | |
|
Re^2: Self Testing Modules
by Sheol (Novice) on Dec 18, 2005 at 00:27 UTC | |
by demerphq (Chancellor) on Dec 18, 2005 at 10:02 UTC |