Even something simple such as LWP::Simple's getstore() method is probably enough. If you need to POST a form, LWP::UserAgent (in the same distribution) is required.
I used to think that 10 years ago, but I'd see folks stumble with cookies .... WWW::Mechanize takes care of a lot of details for you, I stick with Mechanize-alikes even if LWP would suffice