Tidak yakin apakah itu membantu, tetapi yang berikut ini berhasil untuk saya:
UNTUK terhubung secara lokal menggunakan tnsnames.ora (di dalam direktori $ORACLE_HOME/network/admin):
my $db = DBI->connect( "dbi:Oracle:mydatabase", "scott", "tiger" );
dan untuk menghubungkan tidak menggunakan tnsnames.ora:
my $db = DBI->connect("dbi:Oracle:host=$host;sid=$sid;port=1521",$user,$passwd)
|| die( $DBI::errstr . "\n" );
dimana $host, $sid harus didefinisikan terlebih dahulu.