Apache::Test,
LWP::UserAgent it's child
WWW::Mechanize, and it's grand-child
Test::WWW::Mechanize are all I've ever needed.
Apache::Test lets you embed a working Apache, with or without mod_perl (and even with PHP if you're into that sorta thing) with your application/module and you can then use the LWP based modules to actually perform the HTTP requests.
More people are killed every year by pigs than by sharks, which shows you how good we are at evaluating risk. -- Bruce Schneier