use Test::More; use Test::Warnings; pass('yay!'); some_function_which_warns(); done_testing; outputs: ok 1 - yay! some warning here at file.pm line 123 not ok 2 - no (unexpected) warnings (via done_testing) 1..2
A trial release is up on CPAN at https://metacpan.org/release/ETHER/Test-Warnings-0.001-TRIAL -- so the best documentation can be found in its POD there.
I also posted a blog entry - http://blogs.perl.org/users/ether/2013/03/yanwt-yet-another-no-warnings-tester.html
I've also got some new features up on github - I'm not quite sure if the interface is right, so I don't want to release yet (but if I do, it would also be as a TRIAL):
Test::Warn-like functionality for capturing and testing warnings - https://github.com/karenetheridge/Test-Warnings/commits/topic/capture_warnings
modification of allow_warnings() to take a regex(es) as well as a boolean, for more sophisticated screening out of some warnings - https://github.com/karenetheridge/Test-Warnings/commits/topic/allow_regexes
Comments on the interface, as well as potential failing scenarios and pitfalls, are all actively solicited!