WWW::Mechanize


Is simple, and very powerful (but does not support JavaScript).