Cập nhật:
Thực sự đơn giản, bạn chỉ định xử lý được trả về bởi connect gọi tới $l_dbh nhưng gọi một phương thức trên $dbh . Bạn phải sử dụng nghiêm ngặt
.
Câu trả lời ban đầu:
Xử lý cơ sở dữ liệu $dbh không được xác định có nghĩa là kết nối không thành công. Bạn nên kiểm tra giá trị trả về của các cuộc gọi của mình hoặc chỉ định { RaiseError => 1} trong connect gọi điện để tìm hiểu lý do.
Hơn nữa, không có lý do gì để đặt tiền tố cho mọi lời gọi phụ bằng & :Sử dụng ConnectFailed( ) thay vì &ConnectFailed( ) , trừ khi bạn biết tác dụng của việc đặt tiền tố một lời gọi phụ bằng & và mong muốn có được hiệu ứng đó.
Từ perldoc perlsub :