Atualização:
Simples, na verdade, você atribui o handle retornado pelo
connect chamar para $l_dbh mas invoque um método em $dbh . Você deve use estrito
. Resposta original:
O banco de dados manipula
$dbh não está definido, o que significa que a conexão falhou. Você deve verificar os valores de retorno de suas chamadas ou especificar { RaiseError => 1} no connect ligue para saber o motivo. Além disso, não há razão para prefixar cada sub invocação com
& :Use ConnectFailed( ) em vez de &ConnectFailed( ) , a menos que você conheça o efeito de prefixar uma sub-invocação com & e desejo de ter esse efeito. De perldoc perlsub :