use Test::More; .... my $tests_planned; ... # subsystem 1 test BEGIN { $tests_planned ++ } # carry out one test ... # subsystem 2 test BEGIN { $test_planned += 3 } # carry out our 3 tests ... ... # Then plan the tests for Test::More right at the end BEGIN { plan( tests => $tests_planned ); }