code segments: use 5.008006; use strict; use warnings; use Carp; use IO::Socket::INET; use IO::Socket::SSL; use Data::Dumper; use POSIX qw(ceil floor); use HTTP::Headers::ActionPack::Authorization::Basic; sub connect { my $self = shift; my $sock; if ( $self->{use_ssl} ) { warn "creating SSL socket to $$self{host}:$$self{port}" if ( $self->{debug} ); # use HTTP::Headers::ActionPack::Authorization::Basic; # create from parameters $sock = HTTP::Headers::ActionPack::Authorization::Basic->new( 'Basic' => { username => 'myuser, password => 'mypassword' } ) } else { $sock = new IO::Socket::INET( PeerAddr => $self->{host}, PeerPort => $self->{port}, Proto => 'tcp' ); }