Pembaruan:
Sederhana, sungguh, Anda menetapkan pegangan yang dikembalikan oleh connect panggil ke $l_dbh tetapi aktifkan metode di $dbh . Anda harus gunakan ketat
.
Jawaban asli:
Basis data menangani $dbh tidak ditentukan yang berarti koneksi gagal. Anda harus memeriksa nilai pengembalian panggilan Anda, atau menentukan { RaiseError => 1} di connect telepon untuk mengetahui alasannya.
Lebih lanjut, tidak ada alasan untuk mengawali setiap sub doa dengan & :Gunakan ConnectFailed( ) alih-alih &ConnectFailed( ) , kecuali jika Anda mengetahui efek awalan sub-doa dengan & dan keinginan untuk memiliki efek itu.
Dari perldoc perlsub :