On Sat, Dec 01, 2007 at 01:38:35AM +0100, A. Pagaltzis wrote: > plan eval { require Net::CIDR } > ? tests => 6 > : skip_all => 'failed to load Net::CIDR';
This is what I ended up doing (didn't check if I'm reinventing the wheel). Instead of "use Test::More" I'm doing: use MyTest tests => 16, recommended => [qw/ DateTime DBI Foo /]; Then: package MyTest; use strict; use warnings; use base 'Exporter'; use Test::More; @MyTest::EXPORT = @Test::More::EXPORT; sub import { my ( $self, %options ) = @_; __PACKAGE__->export_to_level( 1, __PACKAGE__ ); if ( my $mods = $options{recommended} ) { for ( ref $mods ? @$mods : $mods ) { unless ( eval "require $_" ) { plan skip_all => "Missing recommended module [$_]"; return; } } } plan tests => $options{tests} if $options{tests}; } 1; Exporter docs recommend: __PACKAGE__->export_to_level(1, @_); But when I pass along all arguments I get: MyTest does not define $MyTest::VERSION--version check failed at /usr/share/perl/5.8/Exporter/Heavy.pm line 107. Which I guess makes sense for Exporter. -- Bill Moseley [EMAIL PROTECTED]