use Net::SOCKS; my $sock = new Net::SOCKS(socks_addr => '192.168.1.3', socks_port => 1080, user_id => 'the_user', user_password => 'the_password', force_nonanonymous => 1, protocol_version => 5); # connect to http port and request /index.html my $f= $sock->connect(peer_addr => '192.168.1.3', peer_port => 80); print $f "GET /index.html\n"; # example writing to socket while (<$f>) { print } # example reading from socket $sock->close();