It may be as simple as doing this:
$ua->proxy(["http"], "http://username:password@proxy.com");
Or you may find that this code (which does 401 authentication for you) does what you want.
my $ua = LWP::Custom->new();
$ua->proxy(["http"], "http://proxy.com");
$ua->set_basic_credentials( $user, $pass );
package LWP::Custom;
use base 'LWP::UserAgent';
# add a set_basic_credentials method, using a closure to remember
{
my ( $username, $password );
sub set_basic_credentials{ ( $username, $password ) = @_[1..2] }
sub get_basic_credentials{ $username, $password };
}