Okay, if “on some other machine this is working,” but not “here,” then this, to me, is pretty much a dead-giveaway that the problem most likely is not in Perl code. Try running some other Sybase utility on this machine, to determine if this other program can (or, I predict, also cannot ...) connect. The nature of the error message strongly suggests to me that there is some kind of configuration issue in the so-called “plumbing layers” that connect everything together ... not in the surface-layer software that is attempting to initiate a request. Only after thoroughly exhausting that possibility would I return to looking at the [Perl].