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 :