Uppdatering:
Enkelt, egentligen, du tilldelar handtaget som returneras av connect ring till $l_dbh men anropa en metod på $dbh . Du måste använd strict
.
Ursprungligt svar:
Databasen hanterar $dbh är inte definierad vilket betyder att anslutningen misslyckades. Du bör antingen kontrollera returvärdena för dina samtal eller ange { RaiseError => 1} i connect ring för att ta reda på orsaken.
Vidare finns det ingen anledning att prefixa varje underanrop med & :Använd ConnectFailed( ) istället för &ConnectFailed( ) , såvida du inte känner till effekten av att prefixa en underanrop med & och önskan att ha den effekten.
Från perldoc perlsub :