The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

USE

If both your stub and its generated controller module needs to load a module, include a uses statement in your controller's block.

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:

    uses Your::Module, Some::Other::Module;

Add pairs to get the imports of your dreams:

    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 stub_uses which only add use statements to one of the 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 uses statements added after stub generation are equivalent to gen_uses statements as far as bigtop is concerned, but they could still serve as documentation.

EXAMPLE

Build the example with:

    bigtop -c example.bigtop all

Look for Exotic in both lib/Kids/Child.pm and lib/Kids/GEN/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.