package test_setup; sub setup { # setup your db or whatever here } 1; #### require t::test_setup; test_setup::setup(); #### package test_setup; sub setup { # ... } BEGIN { # must be after the sub definition setup(); $ENV{USE_TEST_DB} = 1; } 1; #### if ( $ENV{USE_TEST_DB} ) { __PACKAGE__->config( 'Plugin::ConfigLoader' => { file => 'myapp_test.yml'} ); }