Có một số cải tiến mà bạn có thể thực hiện đối với mã này.
- Luôn có
use strict
vàuse warnings
trong mã của bạn. Và khắc phục các sự cố mà chúng tiết lộ (chủ yếu là khai báo các biến bằngmy
bởi vẻ ngoài của nó). - Bạn có
use CGI /:standard/
nhập một tải các hàm của CGI vào không gian tên của bạn, nhưng sau đó bạn chỉ gọi các hàm đó dưới dạng các phương thức trên đối tượng CGI của mình (trong$q
) để việc nhập là không cần thiết. - Bạn sử dụng ký hiệu đối tượng gián tiếp (
new CGI
) để tạo đối tượng CGI của bạn. Điều này sẽ hoạt động 99% thời gian nhưng trong một số trường hợp hiếm hoi khi nó bị hỏng, bạn sẽ lãng phí nhiều ngày để theo dõi vấn đề. Tốt hơn nhiều khi sử dụngCGI->new
thay vào đó. - Các chức năng tạo HTML trong CGI.pm (bạn sử dụng
start_html()
) đã được không được dùng nữa . Vui lòng không sử dụng chúng. - Có HTML thô trong mã Perl của bạn có thể là một vấn đề bảo trì (như bạn đã phát hiện ra, do lỗi trong HTML của bạn). Tôi thực sự khuyên bạn nên chuyển HTML của bạn ra khỏi mã Perl và sang các mẫu. CGI ::Lựa chọn thay thế có một số gợi ý về cách thực hiện việc này.