Aktualisierung:
Einfach, wirklich, Sie weisen das von connect zurückgegebene Handle zu Aufruf von $l_dbh sondern eine Methode auf $dbh aufrufen . Sie müssen Verwenden Sie strict
.
Ursprüngliche Antwort:
Das Datenbank-Handle $dbh ist nicht definiert, was bedeutet, dass die Verbindung fehlgeschlagen ist. Sie sollten entweder die Rückgabewerte Ihrer Aufrufe überprüfen oder { RaiseError => 1} angeben im connect Rufen Sie an, um den Grund herauszufinden.
Außerdem gibt es keinen Grund, jedem Unteraufruf & voranzustellen :Verwenden Sie ConnectFailed( ) statt &ConnectFailed( ) , es sei denn, Sie kennen die Wirkung, wenn einem Unteraufruf & vorangestellt wird und den Wunsch haben, diese Wirkung zu erzielen.
Von perldoc perlsub :