Aggiornamento:
Semplice, davvero, assegni l'handle restituito da connect chiama $l_dbh ma invoca un metodo su $dbh . devi usa rigoroso
.
Risposta originale:
Il database gestisce $dbh non è definito, il che significa che la connessione non è riuscita. Dovresti controllare i valori di ritorno delle tue chiamate o specificare { RaiseError => 1} nel connect chiama per scoprire il motivo.
Inoltre, non vi è alcun motivo per anteporre a ogni sottoinvocazione & :Usa ConnectFailed( ) invece di &ConnectFailed( ) , a meno che tu non conosca l'effetto di anteporre a una sottochiamata & e il desiderio di avere quell'effetto.
Da perldoc perlsub :