Istnieje kilka ulepszeń tego kodu.
- Zawsze
use strict
iuse warnings
w twoim kodzie. I napraw problemy, które ujawniają (głównie deklarowanie zmiennych za pomocąmy
po wyglądzie). - Masz
use CGI /:standard/
który importuje ładunek funkcji CGI do twojej przestrzeni nazw, ale potem wywołujesz te funkcje tylko jako metody w twoim obiekcie CGI (w$q
), aby importowanie nie było konieczne. - Używasz pośredniej notacji obiektów (
new CGI
), aby utworzyć obiekt CGI. To zadziała w 99% przypadków, ale w rzadkich przypadkach, gdy się zepsuje, będziesz tracić dni na tropienie problemu. Znacznie lepiej jest używaćCGI->new
zamiast tego. - Funkcje tworzenia HTML w CGI.pm (używasz
start_html()
) zostały od jakiegoś czasu przestarzałe . Proszę ich nie używać. - Posiadanie surowego kodu HTML w kodzie Perla może stanowić problem z konserwacją (jak się wydaje, biorąc pod uwagę błędy w kodzie HTML). Zdecydowanie zalecam przeniesienie kodu HTML z kodu Perla do szablonów. CGI::Alternatives ma kilka sugestii, jak to zrobić.