use MyModule { foo' => 'bar' }, qw/do_something do_something_else/;
####
sub import {
my $class = shift;
my $config = ref($_[0]) ? shift : {};
# do stuff with $config here
unshift @_, $class; # restore $class onto @_ for Exporter
goto \&Exporter::import; # need to use "goto" to ensure tail call
}
####
package MyModule;
use strict;
use warnings;
use base 'Exporter::TypeTiny';
our @EXPORT_OK = qw( something something_else );
sub _exporter_validate_opts {
my ($class, $config) = @_;
# do stuff with $config here
}