Các thủ tục được lưu trữ trong MySQL tạo ra tập dữ liệu cần bạn sử dụng Perl DBD ::mysql 4.001 trở lên. ( http://www.perlmonks.org/?node_id=609098 )
Dưới đây là chương trình thử nghiệm sẽ hoạt động trong phiên bản mới hơn:
mysql> delimiter //
mysql> create procedure Foo(x int)
-> begin
-> select x*2;
-> end
-> //
perl -e 'use DBI; DBI->connect("dbi:mysql:database=bonk", "root", "")->prepare("call Foo(?)")->execute(21)'
Nhưng nếu bạn có phiên bản DBD ::mysql quá cũ, bạn sẽ nhận được kết quả như sau:
DBD::mysql::st execute failed: PROCEDURE bonk.Foo can't return a result set in the given context at -e line 1.
Bạn có thể cài đặt DBD mới nhất bằng CPAN.