Take a look at LWP::UserAgent:
in reply to Embedding cookies in HTTP requests
Get/set the cookie jar object to use. The only
requirement is that the cookie jar object must implement
the extract_cookies($request) and
add_cookie_header($response) methods. These methods
will then be invoked by the user agent as requests are
sent and responses are received. Normally this will be
a "HTTP::Cookies" object or some subclass.
The default is to have no cookie_jar, i.e. never
automatically add "Cookie" headers to the requests.