I had found that same first link as well, but when I compared my tnsnames.ora file to it it's identical to the "after" version (obviously with the correct host, port, and service name for my employer's Oracle DB). Very simple, it's actually what my Oracle Database Admins have posted to use as the default on their intranet page at my employer for these things. That same tnsnames.ora file is what I loaded in to my SQL Developer install to get it working, and there I can run the same query that my Perl script chokes on.
DWAPRD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = XXX)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XXX) ) )
I'm only just learning this stuff, all my previous database access has been heavily curated through various approved environments that handle all the connection stuff behind the scenes. The only reason I want direct access is so that after 2-3 years of dumping tab delimited and/or Excel files via those approved environments and reading them in to my scripts, I can skip all that manual overhead. Sometimes it's horribly tedious because I have to dump multiple files from multiple sources, save them in different formats, then get them in to a directory with my Perl scripts to do what I need... man, it would be so nice to skip all that with a direct pipeline to the various data sources via Perl. So here I am, struggling. :-/
I'll see if I can figure anything out with the tracing suggestion.