Test use_ok() with imports better. Add BAIL_OUT() (little known Test::Harness feature that basically declares that the universe has turned out all wrong and the test will now stop what it's doing and just go back to bed.) Add a way to ask "Are we passing so far?". Probably a Test::Builder method. eval_ok(). A replacement for this sort of thing. My main concern is that it not screw up caller(). my $result = eval { some_stuff }; is($@, '', 'didn't explode'); is($result, 'something', 'and it ran'); Finish (start?) Test::FAQ Expand the Test::Tutorial Restructure the Test::More synopsis. Decide if the exit code behavior on failure is a useful default case. $^C exception control? Document that everything goes through Test::Builder->ok() Add test name to diagnostic output Put a newline before the first diagnostic failure when in Test::Harness Trap bare exit() calls. Add diag() to details().