Istnieje kilka ulepszeń tego kodu.
- Zawsze
use strictiuse warningsw twoim kodzie. I napraw problemy, które ujawniają (głównie deklarowanie zmiennych za pomocąmypo 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->newzamiast 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ć.