USE
If your stub needs to load a module, include a stub_uses
statement in your controller's block. But, note that this won't have any effect if the controller has already been created. Bigtop never modifies an existing controller stub.
stub_uses
takes a comma separated list of modules to use. If you want to control their import lists, use pairs. For example, this will use the modules with default importing:
stub_uses Your::Module, Some::Other::Module;
Add pairs to get the imports of your dreams:
stub_uses Your::Module => `qw( :everything :and then some )`;
Note that the value will be used literally to produce this:
use Your::Module qw( :everything :and then some );
So, qw is a good choice (as it usually is).
See also gen_uses
and uses
for other ways to use modules.
The plugins
keyword is the way to load Gantry plugin modules from the Gantry::Plugins::
namespace.
Note that nothing is every added to a stub once it is made, so stub_uses
statements added after stub generation are ignored by bigtop, but they could still serve as documentation.
EXAMPLE
Build the example with:
bigtop -c example.bigtop all
Look for Exotic
in lib/Kids/Child.pm
. Notice how Your::Module
lists imports explicitly. If you don't provide a list, all of the @EXPORT
items will be explicitly listed.