in reply to Error! Clone on unblessed reference

First of all, you're never actually executing the requests that you are building (unless you decided not to post that part of the code here). I'm not exactly sure how you do it with WWW::Mechanize, but I think it has something to do with calling $agent->request( $request ); (I know that WWW::Mechanize is a subclass of LWP::UserAgent, so it should be about the same).

Anyhow, HTTP::Request doesn't take a reference (array or hash) for the headers. Do this instead:

$request = HTTP::Request->new( 'GET' => 'http://www.abc.com/ChooseZone.aspx?type=A' ); $request->header( '__EVENTTARGET' => 'rdlZone_0', '__EVENTARGUMENT' => '', '__VIEWSTATE' => 'super_long_text', 'rdlZone' => '1', );