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 :