#!/usr/bin/perl -w
use strict;

use HTTP::Request::Common qw( POST );
use LWP::UserAgent;
use HTTP::Cookies;

sub login {

   my($ua,$form,$res,$tgt,$agent) = ({},{},{},'','');

   require HTTP::Headers;

   $agent   = q[Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux)];
   $tgt     = q[https://sourceforge.net/account/login.php];
   $form    =
      {
         q[return_to]      => q[],
         q[form_loginname] => q[foo],
         q[form_pw]        => q[bar],
         q[stay_in_ssl]    => 1,
         q[login]          => q[Login With SSL],
      };

   $ua = LWP::UserAgent->new('agent' => $agent);

   $ua->cookie_jar
      (
         HTTP::Cookies->new
            (
               'file'      => 'lwpcookies.txt',
               'autosave'  => 1
            )
      );

   push(@{ $ua->requests_redirectable }, 'POST');

   $res  = $ua->post( $tgt, $form, 'Referer' => '' );

   return
      (
         join
            (
               qq[\012],
               q[Failed: ],
               $res->status_line,
               q[received: ],
               $res->as_string
            )
      )
         if (!$res->is_success);

   $res->as_string
}

print login;