According to the Test::More documentation, it is recommended to run use_ok() inside a "BEGIN" block, so
functions are exported at compile-time and prototypes are properly honored.
That is, instead of writing this:
use_ok( 'Some::Module' );
use_ok( 'Other::Module' );
One should write this:
BEGIN { use_ok( 'Some::Module' ); }
BEGIN { use_ok( 'Other::Module' ); }
However, people often either forget to add "BEGIN", or mistakenly group "use_ok" with other tests in a
single "BEGIN" block, which can create subtle differences in execution order.
With this module, simply change all "use_ok" in test scripts to "use ok", and they will be executed at
"BEGIN" time. The explicit space after "use" makes it clear that this is a single compile-time action.