Test::Stream::Exporter::Meta - Meta object for exporters.


This distribution is deprecated in favor of Test2, Test2::Suite, and Test2::Workflow.

See Test::Stream::Manual::ToTest2 for a conversion guide.


Test::Stream::Exporter uses this package to manage exports.

Every package that uses Test::Stream::Exporter has a Test::Stream::Exporter::Meta object created for it which contains the metadata about the available exports and the kind of export they are.


$meta = Test::Stream::Exporter::Meta::get( $PACKAGE )

Returns a metaobject for $PACKAGE if one exists. Returns undef if one does not exist. This can be used as either a method or a function, the last argument is the only one that is used.


$meta = Test::Stream::Exporter::Meta->new( $PACKAGE )

Constructs a metaobject for $PACKAGE and returns it. If one already exists, it is returned.

$meta->add( $DEFAULT, $SUBNAME )
$meta->add( $DEFAULT, $SUBNAME => $SUBREF )

Add an export named $SUBNAME. If a ref is provided it will be used, otherwise it will grab the sub from the package using $SUBNAME. The fist argument is a toggle, true means the sub is exported by default, false means it is not exported by default.

$meta->add_bulk( $DEFAULT, $SUBNAME, $SUBNAME, ... )

Add all the subnames given as arguments to the list of exports. The subs of the given names are taken as the references. The first argument is a toggle, true means the susb should be exported by default, false means they should not be.

$default_ref = $meta->default()

Get the arrayref of default exports. This is not a copy of the arrayref, modifying this would modify the internal list of defaults.

$exports_ref = $meta->exports()

Returns a HASHREF of $SUBNAME => $CODEREF values of all avialable exports.


The source code repository for Test::Stream can be found at


Chad Granum <>


Chad Granum <>
Kent Fredric <>


Copyright 2015 Chad Granum <>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.