Perl 6 modules contain a mechanism that allows you to get information about the content of the module. Obtaining this meta-information is called introspection.
Take the Math.pm modules from the previous section, More on is export, as an example. This is how we can list all the methods that are exported by that module:
use Math;
say Math::EXPORT::.keys;
This refers to the default EXPORT sub, which the compiler generated for us. The sub returns an object of the EXPORT type that implements the Perl6::Metamodel::PackageHOW interface. We'll not go deep into that theory and will limit ourselves to calling a useful method keys that gives us a list of the tags available in the module:
(plusminus muldiv ALL)
Having the list of tags, we can iterate over them to get the list of subroutines that belong to them:
use Math;
say Math::EXPORT::plusminus::.keys;
say Math::EXPORT...