Aktualizacja:
Proste, naprawdę, przypisujesz uchwyt zwracany przez connect
zadzwoń do $l_dbh
ale wywołaj metodę na $dbh
. musisz użyj strict
.
Oryginalna odpowiedź:
Uchwyt bazy danych $dbh
nie jest zdefiniowany, co oznacza, że połączenie nie powiodło się. Powinieneś albo sprawdzić zwracane wartości swoich wywołań, albo określić { RaiseError => 1}
w connect
zadzwoń, aby poznać przyczynę.
Co więcej, nie ma powodu, aby przed każdym wywołaniem podrzędnym poprzedzać &
:Użyj ConnectFailed( )
zamiast &ConnectFailed( )
, chyba że znasz efekt poprzedzenia wywołania podrzędnego za pomocą &
i pragnienie uzyskania takiego efektu.
Od perldoc perlsub :