Има няколко подобрения, които можете да направите в този код.
- Винаги използвайте
use strict
иuse warnings
във вашия код. И коригирайте проблемите, които разкриват (предимно деклариране на променливи сmy
както изглежда). - Трябва да
use CGI /:standard/
който импортира множество функции на CGI във вашето пространство от имена, но след това вие извиквате тези функции само като методи на вашия CGI обект (в$q
), така че импортирането е ненужно. - Използвате нотация за непряк обект (
new CGI
), за да създадете вашия CGI обект. Това ще работи 99% от времето, но в редките случаи, когато се повреди, ще загубите дни в проследяване на проблема. Много по-добре е да използватеCGI->new
вместо това. - Функциите за създаване на HTML в CGI.pm (използвате
start_html()
) са били отхвърлен от известно време . Моля, не ги използвайте. - Наличието на необработен HTML във вашия Perl код вероятно ще бъде проблем с поддръжката (както изглежда сте открили, предвид грешките във вашия HTML). Силно препоръчвам да преместите вашия HTML от вашия Perl код в шаблони. CGI::Alternatives има някои предложения за начини да направите това.