I'm surprised no one has mentioned WWW::Mechanize. This is a very handy wrapper around LWP and HTML::Form that simplifies walking through multiple web pages, by letting you fill in forms and click on buttons and links without needing to parse the HTML yourself.
A very simple example that should get you started for your situation follows:
use WWW::Mechanize;
my $url = 'http://192.168.1.1/';
my $a = WWW::Mechanize->new;
$a->get( $url );
$a->submit_form(
form_number => 1,
fields => { pws => 'dummy' }
);