First of all there's no need for double quotes around variable names.
Second PrintError is on by default and RaiseError prints errors unless you
have a __DIE__ handler.
So...
$dbh = DBI->connect($data_source, $username, $password, { RaiseError => 1,
AutoCommit => 1 });
>Subject: Cant create TCP/IP socket
Sounds like your network installation is at fault.
> Is there a way to compile the mysql client so it will not default to unix
> sockets, if that is the problem?
I don't know about cygwin but if you specify the ip address and port number
it should use TCP/IP sockets - and based off the error message that is what
it is trying to do!
Try increasing the trace level: DBI->trace(4);
--
Simon