Test::Tagged is a Perl module to tag your tests so they can be run selectively.
use Test::Tagged qw/IM email/;
use Test::More tests => 10;
# then run them
# or don't run them
Tests are often split into many different files. You may have t/oauth.t to test your application's OAuth support, t/rest.t to test your REST API, and so on. This has served us well for a long while.
Unfortunately things are rarely so cleanly cut. Perhaps your OAuth tests are using your REST API, or your date/time tests are using your IM interface. If you make a change to one part of your system, you of course run your tests to make sure nothing broke.
But what if your entire test suite takes twenty minutes to run? You must love testing as much as I do! But unfortunately it'd be prohibitively expensive to run tests after every little change. If you can't run your tests after every change, then they've lost a lot of their potency.
Test::Tagged alleviates this by letting you tag your tests (with as many tags as you want!), then letting you specify which tags to run tests in prove.
If you're working on your REST API, then you can use prove -PTagged=REST to run all tests with the "REST" tag (which would include t/oauth.t because it uses the REST API).